我有一个由Knockout observable控制的控制器,但在自定义绑定中,不检查该元素。
<input type="checkbox" data-bind="checked: isChecked, highlightIfChecked: 'test'"/>
在页面上检查并取消选中该元素,但在highlightIfChecked
自定义绑定中,它不是。我正在使用$(elem).is(":checked")
。
JSFiddle:http://jsfiddle.net/JgLck/
如何在自定义绑定中检查元素?
答案 0 :(得分:3)
元素检查值的设置发生在checked
绑定的update
函数中。目前,所有init
函数都在update
函数之前运行,用于绑定元素。
因此,如果您将自定义绑定切换为使用update
而不是init
,那么您会看到正确的值。
此外,如果您希望再次触发绑定,则需要将isChecked
值更改为observable。请注意,在KO 3.0中,绑定将被独立处理,因此您的自定义绑定需要访问isChecked
以创建依赖关系。