我正在创建一个 Knockout 绑定,它将作为 jQuery 小部件的包装器。该小部件将事件处理程序应用于子元素。不幸的是,小部件的事件处理直接应用于子元素,而不是委托。问题是我有一个foreach
绑定在同一元素上,但我需要应用自定义绑定after the foreach
应用绑定。
显然,正确的做法是修复 jQuery 插件,但目前这不是一个选择。我想知道是否有适合我的好的解决方法。例如,有没有办法执行以下操作?
- 检测是否已应用特定绑定
- 影响绑定应用程序的顺序
- 安全地强制进行另一次绑定
Update:
我应该提到的一个方面是,这种习俗和foreach
绑定驻留在模板中。因此,直接修改 DOM 的解决方案对我来说不起作用,因为它实际上会修改模板。
在您的 bindingHandler 上添加一个包含依赖项数组的 after 属性
ko.bindingHandlers.myHandler = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
// Actual code
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
// Actual code
},
after:['foreach']
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)