如何获取闪烁的光标而不是选择



$('.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>

观察

我不建议更改默认行为:当您双击文本时,选择您单击的单词是标准行为。改变这种行为会让用户感到惊讶,并打破他们的直觉。

最新更新