$('.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
之后的我需要在输入内容的末尾而不是选择内容上闪烁一个光标。
有帮助吗?
答案 0 :(得分:0)
您需要将焦点移开,然后在 之后放回浏览器,以便浏览器有时间处理该焦点的只读更改和其他更改。这样可以避免眨眼。
要保留空白内容,可以短暂更改文本,然后立即将其放回原处。
这是它的外观:
$('.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>
我不建议您更改默认行为:双击文本时,选择单击的单词是标准行为。改变这种行为对于用户而言将是令人惊讶的,并且会破坏他们的直觉。