javascript - knockout JS : How to update view model after a user copy'n'paste into a text field?

标签 javascript html knockout.js

我在一个网站上工作,该网站在用户在输入文本框中输入一些文本后自动将搜索结果填充到表格中(类似于谷歌即时搜索)。

当用户通过添加输入信息时,我设法让 knockout js 更新 View 模型

valueUpdate: 'afterkeydown'

但是,在我的数据绑定(bind)属性中,我还需要处理用户右键单击并将一些文本粘贴到文本框中的情况,所以我尝试了:

valueUpdate: ['afterkeydown','mouseup']

但这没有用,当我尝试通过 View 模型读取文本框的值时,我一直在获取旧值,直到我跳出输入文本框。。 p>

有人知道我该如何解决这个问题吗?

奥斯卡

最佳答案

您可以使用 valueUpdate:'input'。我已经测试它可以在 Opera、Firefox 和 Chrome 中使用。我在 Linux 机器上,所以我无法在 IE 中测试它。 Check this fiddle

更新:我现在已经在 IE8 中对其进行了测试,但它不起作用。但使用以下内容似乎有效。

valueUpdate:['afterkeydown','propertychange','input']

感谢 Michael Best 对此的评论 :) 我已经更新了 the fiddle

2014 年 10 月更新:正如 kzh 在下面的评论中提到的,在 Knockout.js 的一个较新版本中添加了 textInput 绑定(bind)。此绑定(bind)处理此场景并内置浏览器怪癖处理 http://knockoutjs.com/documentation/textinput-binding.html

关于javascript - knockout JS : How to update view model after a user copy'n'paste into a text field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109339/

相关文章:

javascript - 如何选择 div 表的第一列?

php - 在 php/html 中创建类似框架的结构?

asp.net-mvc - 如何设置文本的最小长度以便显示 knockout 自动完成控件?

html - CSS:我应该使用 mixin 还是类?

javascript - 使用 Knockout.js 将 Canvas 绑定(bind)到 UI

javascript - knockout JS : How to subscribe to changes in code similar to how binding handlers work

javascript - 将 json 数据传递给 javascript 变量

javascript - 登录检索器上的 Sequelize 查找总是成功

javascript - 接下来如何将react js中的普通表转换为使用react bootstrap表

javascript - AngularJS 无法从 PHP 获取 HTTP header