【问题标题】:Different Knockout event handler binding depending on type of change event不同的 Knockout 事件处理程序绑定取决于更改事件的类型
【发布时间】:2013-06-16 01:47:34
【问题描述】:

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

【问题讨论】:

    标签: knockout.js knockout-2.0


    【解决方案1】:

    当然。淘汰赛中的“事件”绑定允许您将处理程序绑定到多个事件,如下所示:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-05
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      相关资源
      最近更新 更多