这个功能或错误,是否将焦点设置为文本框?

时间:2015-06-29 15:13:51

标签: javascript jquery firefox knockout.js internet-explorer-11

这也可以在Knockout.js site上看到。

当我在 IE11 FF 38 中打开此页面时,转到示例2:点击编辑并点击名称 - Bert Bertington,文本框的Caret(光标)位于文本的开头,而 Chrome 则位于文本的最后。

如果这是一个功能,当IE11和FF38中的标签更改为文本框时,是否有人建议如何保持插入符号。

我能够通过重置observable的内容在FF38中解决这个问题,但是他在IE11中不起作用。

    var str = self.msg();
    self.msg('');
    self.msg(str); 

如果重要的话,我正在使用 knockout-3.2.0

更新

问题似乎是浏览器而不是Knockout(抱歉混淆)。

我尝试使用JQuery和javascript .focus()函数设置文本字段的焦点,并且在IE11和Firefox 38上仍然得到相同的结果。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

你是对的,这是不同浏览器如何处理焦点事件的问题。解决方法是手动将光标设置为文本框中文本的末尾。

可以找到执行此操作的示例here。如果您希望使用knockout自动执行此操作,则必须基于hasFocus绑定创建自己的自定义绑定,或直接修改KnockoutJS库。焦点事件在Knockout 3.2.0非缩小JS文件的第3813行触发。

相关问题