当焦点获得焦点时,如何将光标放在文本框中的字符串末尾?

时间:2013-09-09 16:34:55

标签: jquery

我有一个输入文本框,它是绑定到mvvm值的数据,我默认为“RFQ”字符串。当用户选中文本框时,我希望光标位于字符串的末尾。当前行为突出显示字符串。我下载了一个jQuery库(jquery-caret.js),它有一个名为.caretToEnd()的方法,如果我在Document Ready中使用它就可以很好地工作:

 $("#txtRfq").caretToEnd();  

但我想这样用:

$("#txtRfq").focus(function () {
     $("#txtRfq").caretToEnd();
    });

但当我在加载此代码的文本框中选中时,整个字符串“RFQ”会突出显示。我在这里错过了什么?

1 个答案:

答案 0 :(得分:2)

无法删除原生focus操作(突出显示文字),因此我们必须添加delay,然后调用caretToEnd()函数,如下所示。

    $("#txtRfq").on("focus", function (e) {
        $(this).delay(13).caretToEnd();
    });

This链接有一个工作样本。

以上信息基于提供的示例here