我有一张桌子,里面有两件事:
点击行级别的事件
并在检查该行内的复选框时单击。
当选中复选框时,我不希望触发tr上的Click事件。
<tbody data-bind="foreach:CustomerList">
<tr onclick="removepage();" onmouseover="changeRowColor(this)" onmouseout="restoreRowColor(this)">
<td>
<input class="checkbox" data-bind="click:$parent.customerClick(event)" type="checkbox">
</td>
<td class="col-md-4">
<span class="name" data-bind="text:customerName" />
</td>
<td>
<span data-bind="text:siteName" />
</td>
</tr>
</tbody>
现在在customerClick();我试图达到同样的目的。
customerClick: function (e) {
debugger;
e.stopPropagation();
},
但它不起作用。
它说,e.stopPropagation();
也不是一个功能。
请告诉我该怎么做。
答案 0 :(得分:3)
Knockout带来了这种场合的绑定 - clickBubble
:
<input class="checkbox" data-bind="click:$parent.customerClick(event), clickBubble: false" type="checkbox">
在false
上将其设置为input
会阻止点击事件到达树的更上方处理程序。