什么是Vanilla JS或jQuery解决方案,当文本框获得焦点时,它将选择文本框的所有内容?
$(document).ready(function() { $("input:text").focus(function() { $(this).select(); } ); });
$(document).ready(function() { $("input[type=text]").focus().select(); });
$(document).ready(function() { $("input:text") .focus(function () { $(this).select(); } ) .mouseup(function (e) {e.preventDefault(); }); });
jQuery不是JavaScript,在某些情况下更容易使用.
看看这个例子:
来自CSS Trics.
这不仅仅是Chrome/Safari问题,我在Firefox 18.0.1中遇到了类似的行为.有趣的是,这不会发生在MSIE上!这里的问题是第一个强制取消选择输入内容的mouseup事件,所以只需忽略第一次出现.
$(':text').focus(function(){ $(this).one('mouseup', function(event){ event.preventDefault(); }).select(); });
timeOut方法会导致奇怪的行为,并且阻止每个mouseup事件,您无法删除在输入元素上再次单击的选择.
我的解决方案是使用超时.似乎工作正常
$('input[type=text]').focus(function() { var _this = this; setTimeout(function() { _this.select(); }, 10); });
这也适用于iOS:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select