Чтобы пользователь не раздражался, когда весь текст выбирается каждый раз, когда он пытается переместить каретку с помощью мыши, вы должны сделать это с помощью события focus
, а не события click
.Следующее выполнит работу и решит проблему в Chrome, которая не позволяет работать самой простой версии (то есть просто вызвать метод select()
текстовой области в обработчике focus
).
jsFiddle: http://jsfiddle.net/NM62A/
Код:
<textarea id="foo">Some text</textarea>
<script type="text/javascript">
var textBox = document.getElementById("foo");
textBox.onfocus = function() {
textBox.select();
// Work around Chrome's little problem
textBox.onmouseup = function() {
// Prevent further mouseup intervention
textBox.onmouseup = null;
return false;
};
};
</script>
JQuery версия:
$("#foo").focus(function() {
var $this = $(this);
$this.select();
// Work around Chrome's little problem
$this.mouseup(function() {
// Prevent further mouseup intervention
$this.unbind("mouseup");
return false;
});
});