【发布时间】:2014-05-21 14:51:28
【问题描述】:
已搜索但在其他地方找不到答案...
我有一系列自定义的 Knockout 绑定处理程序,并试图在一个 DOM 元素上运行三个不同的处理程序。
例如
data-bind="heightToContentSize:'scroll', toggletargethover:'pageWrapper', className:'removeArrows'"
问题是,Knockout 只执行第一个,而忽略其余的。控制台中没有错误。我的印象是,您可以在一个 DOM 元素上使用无限数量的唯一绑定处理程序,前提是它们用逗号分隔。
你能像我上面所说的那样用逗号链接自定义数据绑定吗?我在上面的陈述中的逻辑不正确吗?
【问题讨论】:
-
浏览器控制台有什么错误吗?
-
浏览器控制台没有错误,完美通过。我假设 Knockout 忽略了链接的绑定处理程序,因此没有显示错误。
-
所有绑定都注册了knout吗?
-
是的。如果您自己绑定它们,它们将起作用。但是当我开始将它们链接到 DOM 元素时,只有第一个会触发。
-
我不知道为什么它现在不起作用。当您注册绑定处理程序时,它会被添加到淘汰赛的默认绑定处理程序中。所以它与在元素上拥有多个默认绑定(如文本、css、点击)确实应该没有什么不同。
标签: javascript jquery data-binding knockout.js