我有一个包含一行的表格。该行有一个 TD(里面有一个复选框),在 TD 上我有一个点击功能。因此,当点击 TD 时,复选框将被选中/取消选中。
当我点击 TD 时它工作正常,但是当点击复选框时复选框的(视觉)值不会改变(它不会被选中/取消选中)
想要的情况是:
当我点击复选框时,复选框的(视觉)值发生变化,我可以调用函数。(例如进行 AJAX 调用)
当我点击 TD 时,复选框的(视觉)值发生变化,我可以调用一个函数。 (例如进行 AJAX 调用)
我们怎样才能做到这一点?
最佳答案
问题是 TD
的点击处理程序也会在您单击 checkbox
时触发,这意味着 checkbox
会被两者更改checkbox
的默认点击处理程序和 TD
的自定义点击处理程序(它们相互抵消)。解决方案是防止点击 checkbox
冒泡到 TD
。您可以在 Knockout 中使用此绑定(bind)执行此操作:click:function(){return true}, clickBubble:false
。
它正在运行:http://jsfiddle.net/mbest/Eatdh/12/
不过,我确实认为使用 label
是更好的方法(请参阅我的其他回答)。
关于javascript - knockoutjs 复选框并单击父 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823580/