Knockoutjs 1.3 beta:通过鼠标粘贴值时,valueUpdate不起作用

时间:2011-11-10 01:44:36

标签: knockout.js

在ko 1.3 beta中,当您通过上下文菜单剪切或粘贴字段值时,绑定不会触发对视图模型的更新。我已尝试使用所有valueUpdate选项。

这在其他版本中完美无缺。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:1)

1.2.1中有一个修复版没有进入最初的1.3测试版。修复是为了确保value绑定始终处理输入的更改事件以及valueUpdate传递的任何其他事件。

如果你从https://github.com/SteveSanderson/knockout/tree/master/build/output获取最新版本,它就有了必要的解决方法。

这将使得当您以任何方式离开该字段时,该值至少会更新。

但是,如果您确实希望在粘贴后立即更新,则可以执行以下操作:

<input data-bind="value: name, valueUpdate: ['afterkeydown', 'afterpaste']" />

您当然可以绑定到afterpaste,但这显示了如何将事件数组实际传递给valueUpdate。接受一系列事件也是缺少修复的一部分。

答案 1 :(得分:1)

虽然afterpaste事件似乎从未进入Knockout,但还有另一个事件,一些浏览器支持:input

<input data-bind="value: name, valueUpdate: 'input'">

这在最近的WebKit浏览器YMMV中很有效。