我会保持简短和甜蜜。试图在jQuery中实现.select,它似乎没有在Chrome中合作。单击输入仅短暂选择内容。
$(document).on('focus','.a-thing', function () {
this.select();
});
答案 0 :(得分:2)
可能是由于使用了焦点事件。 焦点完成后,尝试触发选择事件:
$(document).on('focus','.a-thing', function () {
var self = this;
setTimeout(function() {
self.select();
},1);
});
答案 1 :(得分:2)
this
不是jQuery对象
$(document).on({
focus : function () {
$(this).select();
},
mouseup : function() {
return false;
}
}, '.a-thing');
您必须阻止mouseup
事件以避免丢失选择,因为mouseup事件取消选择文本,这是Chrome中的已知问题。
答案 2 :(得分:1)
用户click
事件而不是foucs
,因为键盘标签键会自动选择不带foucs
事件的字段值
$(document).on('click','.a-thing', function () {
this.select();
});
答案 3 :(得分:0)
您可以激活鼠标选择而不是焦点。 Chrome似乎在鼠标注册事件中取消选择。
$(document).on('mouseup','.a-thing', function () {
$(this).select();
});
或者,如果您想保留焦点事件,可以阻止对鼠标操作
$(document).on('mouseup','.a-thing', function () {
e.preventDefault();
});
答案 4 :(得分:0)
在mouseup事件中,选择未被选中,请添加以下内容以解决问题
$(".a-thing").mouseup(function(e){
e.preventDefault();
});
<强> DEMO 强>