我的代码:
$('#myTextArea').one('focus', function() {
$('#myTextArea')[0].selectionStart = 2;
$('#myTextArea')[0].selectionEnd = 6;
$('#myTextArea')[0].focus();
});
代码工作正常,在焦点上(仅一次),它从索引2到6中选择。
问题:由于此功能在焦点上调用,它会执行自定义焦点,但随后它会调用焦点,并且我会失去所选文本的焦点。任何可能的解决方案?
答案 0 :(得分:2)
我不确定为什么会这样,但我认为它可能就是这样做的:
$('#myTextArea').bind("focus mousedown", "click", function(event) {
event.preventDefault();
$(this).select();
this.selectionStart = 2;
this.selectionEnd = 6;
});
答案 1 :(得分:1)
由于您已经绑定了focus
事件并且没有阻止默认行为,因此您不需要手动触发.focus()
。试试这个:
$('#myTextArea').one('focus', function(event) {
event.preventDefault();
this.selectionStart = 2;
this.selectionEnd = 6;
});