Подтвердить что ты не робот

Выделить весь текст в textarea

Я хочу выделить весь текст внутри текстового поля, когда пользователь нажимает на текстовое поле. Я пробовал onclick="this.focus()", но это ничего не делало. Я попробовал onclick="this.highlight()", но это вызвало ошибку. Что мне делать?

4b9b3361

Ответ 1

Это может раздражать ваших пользователей, поскольку это предотвращает полезное поведение по умолчанию для размещения каретки, где пользователь щелкнул, и поэтому я рекомендую против нее в целом. Тем не менее, решение для большинства браузеров onclick="this.select()".

Однако это не будет работать в Chrome [UPDATE February 2014: теперь он работает в последних версиях Chrome]. Обходной путь и общий фон по этой проблеме см. В следующем вопросе: jQuery - выберите весь текст из текстового поля

Ответ 2

onclick="this.focus();this.select()" readonly="readonly"

Ответ 3

<script type="text/javascript">
function SelectAll(id)
{
    document.getElementById(id).focus();
    document.getElementById(id).select();
}
</script>

Textarea:<br>
<textarea rows="3" id="txtarea" onClick="SelectAll('txtarea');" style="width:200px" >This text you can select all by clicking here </textarea>

Я получил этот код здесь

Ответ 4

onclick="this.focus()" является избыточным, поскольку метод focus() совпадает с нажатием в текстовом поле (но он помещает курсор в конец текста).

highlight() не является даже функцией, если, конечно, вы не создали ее где-то еще.

Вывод: do this.select()

Ответ 5

Для достижения желаемого результата вам нужно использовать функцию .focus(), а также функцию .select() Javascript.

Проверьте приведенную ниже ссылку:

http://www.plus2net.com/javascript_tutorial/textarea-onclick.php

Ответ 6

Чтобы завершить другие ответы, возможно, вы захотите скопировать код/​​текст, который вы только что нажали, поэтому используйте:

onclick="this.focus();this.select();document.execCommand('copy')"

Ответ 7

Кажется, больше браузеров, поддерживающих setSelectionRange() чем select()

1 способ: - использовать setSelectionRange()

https://caniuse.com/#search=setSelectionRange

const my_textarea = document.getElementById("my_textarea");

document.getElementById("my_but").onclick = function () {
        
    	if(my_textarea.value !== ""){
    		

		    my_textarea.onfocus = function () {
		        my_textarea.setSelectionRange(0, my_textarea.value.length);
                my_textarea.onfocus = undefined;
		    } 
		    my_textarea.focus();   		
    		
    	}	

    }
<textarea id="my_textarea" name="text">1234567</textarea>
<br>
<button id="my_but">Select</button>