我已在click
绑定here上的KO文档文章中关注此示例:
<div data-bind="click: myDivHandler">
<button data-bind="click: myButtonHandler, clickBubble: false">
Click me
</button>
</div>
我的代码看起来像这样:
<tr role="row" data-bind="click: 'True' === 'True' ? ($root.BrowsingCatalog() ? $root.viewProduct : $root.showProduct) : $root.showProduct">
<td class="col-sm-1" data-bind="visible: 'True' == 'True' ? !$root.BrowsingCatalog() : true">
<div class="btn-group">
<button type="button" data-bind="clickBubble: false" class="btn btn-round dropdown-toggle " aria-expanded="false">
<span class="fa fa-caret-down"></span>
</button>
</div>
</td>
</tr>
当我点击button
时,来自tr
的事件会被调用。我错过了什么?
答案 0 :(得分:11)
我通过在data-bind="click: function() { }, clickBubble: false"
上设置button
来解决此问题。
显然,没有clickBubble
的{{1}}将无效。如果你想要一个整个元素的事件除了某个子元素,那么在子元素上设置click
将不起作用,你还需要为data-bind: "clickBubble: false"
指定一个绑定,即使它只是一个空函数...