Как сделать так, чтобы выделенный текст оставался выделенным в текстовой области?

#javascript

#javascript

Вопрос:

Я работаю над редактором WYSIWYG. У меня есть текстовая область, и я могу получить выделенный текст. Но когда я нажимаю что-то за пределами текстовой области, текст становится невыбранным. Я хочу, чтобы он оставался выделенным, если я не выделю другую часть текста или не щелкну где-нибудь в текстовой области. Как я могу этого добиться?

Ответ №1:

(вкл.) выберите сохранить начальную и конечную позиции выделения в самом элементе ввода.

event.target.lastSelection = { start:startpos, end:endpos};

и используйте событие (on)blur, чтобы сделать что-то вроде

event.target.setSelectionRange( event.target.lastSelection.start, event.target.lastSelection.end )

Ответ №2:

Вы можете использовать что-то вроде этого

в вашем HTML

 <form name="myform">
    <input type="text" name="mytextfield">
</form>
  

и используйте метод focus

 <body OnLoad="document.myform.mytextfield.focus();">