1

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

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

但我想像这样使用它:

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

但是,当我使用此代码加载文本框时,会突出显示整个字符串“RFQ”。我在这里想念什么?

4

1 回答 1

2

focus无法抑制原生动作(文本突出显示),因此我们必须添加 adelay然后调用caretToEnd()如下所示的函数。

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

链接有一个工作示例。

以上信息基于此处提供的示例

于 2013-09-11T03:22:54.790 回答