$('.inptitle').dblclick(function(e){
e.preventDefault();
$(this).attr('readonly', false).focus();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' class='inptitle' value = 'TITLE' readonly = true>
删除readonly
后,我需要在输入内容的末尾闪烁光标,而不是选择。
有什么帮助吗?
您需要在浏览器有时间处理只读更改和该焦点的其他更改后,将焦点移开并放回原处。这将照顾眨眼。
要有一个空的选择,您可以短暂地更改文本并立即将原始文本放回原处。
这是它的外观:
$('.inptitle').dblclick(function(e){
e.preventDefault();
var val = $(this).val();
$(this).attr('readonly', false).blur();
setTimeout(function () {
$('.inptitle').focus().val(val+" ").val(val);
}, 10);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' class='inptitle' value = 'TITLE' readonly = true>
观察
我不建议更改默认行为:当您双击文本时,选择您单击的单词是标准行为。改变这种行为会让用户感到惊讶,并打破他们的直觉。