我想在聚焦时从输入中选择所有文字:
<input id="selectMe" value="123" />
<input type="button" id="focusHim" value="Im working fine" />
JS:
$('#selectMe').focus( function() {
$(this).select();
console.log('focus fired');
});
// little test if focus event works fine
$('#focusHim').click( function() {
$('#selectMe').focus();
});
此简化代码工作正常,但有时会出现一些问题。
这里有小提琴:http://jsfiddle.net/daxv2/
要查看我的问题,请点击输入#selectMe
,然后点击其他地方并再次点击#selectMe
。您将看到,每次尝试都会选择文本。我不知道为什么。
P.S。
当您将focus
更改为click
时,它可以完美运行:
$('#selectMe').click( function() {
$(this).select();
console.log('focus fired');
});
所以我认为focus
事件存在一些问题。
答案 0 :(得分:1)
由于mouseup事件,似乎WebKit浏览器会干扰这一点。
我添加了这个,似乎工作正常:
$('#selectMe').mouseup(function () {
return false;
});
答案 1 :(得分:1)
您可以使用click
事件代替focus
。它运行正常,您也可以使用this.select()
代替$(this).select()
来简化代码
http://jsfiddle.net/daxv2/8/