快速的问题,我可能只是很难正确地提出问题,因此很难弄清楚如何做到这一点 -
当我单击 div 时,我想执行一项操作,但如果 div 内嵌套了一个按钮,我只想执行该操作,而不是两者都执行。
<div data-bind="click: clickOne">
<p>It's here too...</p>
<button data-bind="click: clickTwo">Child</button>
</div>
快速的问题,我可能只是很难正确地提出问题,因此很难弄清楚如何做到这一点 -
当我单击 div 时,我想执行一项操作,但如果 div 内嵌套了一个按钮,我只想执行该操作,而不是两者都执行。
<div data-bind="click: clickOne">
<p>It's here too...</p>
<button data-bind="click: clickTwo">Child</button>
</div>
您需要clickBubble: false
在内部处理程序上设置 以防止单击事件冒泡:
<div data-bind="click: clickOne">
<p>It's here too...</p>
<button data-bind="click: clickTwo, clickBubble: false">Child</button>
</div>
演示JSFiddle。
另请参阅click
绑定文档:注 4:防止事件冒泡