此功能或错误是用于将焦点设置到文本框吗?
Is this feature or bug, for Setting focus to a textbox?
这也可以在 Knockout.js site 上看到。
当我在 IE11 或 FF 38 中打开此页面并转到 示例 2:Click-to -edit 并单击名称 - Bert Bertington,文本框的插入符(光标)位于文本的开头,而在 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 上仍然得到相同的结果。
如有任何帮助,我们将不胜感激。
你说的对,这是不同浏览器处理focus事件的问题。解决方法是手动将光标设置到文本框中文本的末尾。
可以找到执行此操作的示例 here。如果您希望使用 knockout 自动发生这种情况,则必须基于 hasFocus 绑定创建您自己的自定义绑定,或者直接修改 KnockoutJS 库。焦点事件在 Knockout 3.2.0 非缩小 JS 文件的第 3813 行触发。
这也可以在 Knockout.js site 上看到。
当我在 IE11 或 FF 38 中打开此页面并转到 示例 2:Click-to -edit 并单击名称 - Bert Bertington,文本框的插入符(光标)位于文本的开头,而在 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 上仍然得到相同的结果。
如有任何帮助,我们将不胜感激。
你说的对,这是不同浏览器处理focus事件的问题。解决方法是手动将光标设置到文本框中文本的末尾。
可以找到执行此操作的示例 here。如果您希望使用 knockout 自动发生这种情况,则必须基于 hasFocus 绑定创建您自己的自定义绑定,或者直接修改 KnockoutJS 库。焦点事件在 Knockout 3.2.0 非缩小 JS 文件的第 3813 行触发。