在焦点上,定制专注于textarea

时间:2011-01-09 08:25:28

标签: jquery

我的代码:

$('#myTextArea').one('focus', function() {
     $('#myTextArea')[0].selectionStart = 2;
     $('#myTextArea')[0].selectionEnd = 6;
     $('#myTextArea')[0].focus();
});

代码工作正常,在焦点上(仅一次),它从索引2到6中选择。

问题:由于此功能在焦点上调用,它会执行自定义焦点,但随后它会调用焦点,并且我会失去所选文本的焦点。任何可能的解决方案?

2 个答案:

答案 0 :(得分:2)

我不确定为什么会这样,但我认为它可能就是这样做的:

$('#myTextArea').bind("focus mousedown", "click", function(event) {
    event.preventDefault();
    $(this).select();
    this.selectionStart = 2;
    this.selectionEnd = 6;
});

Try it here.

答案 1 :(得分:1)

由于您已经绑定了focus事件并且没有阻止默认行为,因此您不需要手动触发.focus()。试试这个:

$('#myTextArea').one('focus', function(event) {
     event.preventDefault();
     this.selectionStart = 2;
     this.selectionEnd = 6;
});