不同的Knockout事件处理程序绑定取决于change事件的类型

时间:2013-06-19 13:37:41

标签: knockout.js knockout-2.0

我知道您可以绑定一些代码,以便在输入使用subscribe函数更改时运行,并且我知道您可以使用valueUpdate数据绑定定义触发更改事件的内容。但是,有没有办法绑定一段代码来运行,比如说'change'类型的valueUpdate,运行的不同代码可以说是'afterkeydown','input'或'paste'类型?

1 个答案:

答案 0 :(得分:0)

绝对。敲除中的“事件”绑定允许您将处理程序绑定到多个事件,如下所示:

<input type="text" data-bind="event: {keypress: onKeyPress, change: onChange}" />

请记住,Knockout默认会自动停止事件冒泡。在上面的示例中,onKeyPress处理程序将停止浏览器处理keypress事件,这将导致更改事件不会触发。如果您绑定多个事件,并且需要事件处理程序来停止浏览器的默认事件处理,只需从事件处理程序返回“true”。

您可以在此处查看此代码:http://jsfiddle.net/rrahlf/QEuQR/