我有一个由 Knockout observable 控制的复选框,但在自定义绑定(bind)中,该元素未被选中。
<input type="checkbox" data-bind="checked: isChecked, highlightIfChecked: 'test'"/>
该元素在页面上被选中和取消选中,但在 highlightIfChecked
自定义绑定(bind)中,它不是。我正在使用 $(elem).is(":checked")
。
JSFiddle:http://jsfiddle.net/JgLck/
如何在自定义绑定(bind)中获取要检查的元素?
最佳答案
元素的检查值的设置发生在 checked
绑定(bind)的 update
函数中。目前,所有 init
函数都在元素绑定(bind)的 update
函数之前运行。
因此,如果您将自定义绑定(bind)切换为使用 update
而不是 init
,那么您会看到正确的值。
此外,如果您希望再次触发绑定(bind),则需要将您的 isChecked
值更改为可观察值。请注意,在 KO 3.0 中,绑定(bind)将被独立处理,因此您的自定义绑定(bind)需要访问 isChecked
以创建依赖项。
关于javascript - KnockoutJS 'checked' 绑定(bind)未应用于 customBinding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17091153/