考虑this fiddle.我有一个<input type='checkbox'>
链接到其相应的<label>
。在他们的 parent 身上,我有一个 click
捆绑。
问题是,点击<label>
将触发父级的单击两次,而单击 <input>
只会触发一次。
考虑到我想保留当前的 HTML 结构( <label>
位于 <input>
旁边),有没有办法使 <label>
行为类似于<input>
元素? (又名仅触发 click
一次)
编辑:如果我删除 return true;
来自click
的声明handler 的函数,它不会触发两次,而且,它也不会选择复选框。需要选中该复选框。 Here is a case我没有对父元素执行操作。如果您点击<label>
,它将检查 <input>
.
最佳答案
我为你找到了答案 here 。诀窍是使用自定义绑定(bind)使标签停止冒泡。
<label for="test" data-bind="stopBubble:parentAction">TestLabel</label>
stopBubble
绑定(bind)位于链接处,也在 Fiddle 中。
关于javascript - 单击输入[checkbox ]'s label will fire twice the parent' s 单击事件(knockout),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30629217/