Javascript 当一行内的复选框复选事件被激发时,单击事件也激发
我在表的各个行中都有复选框 我希望当行中的其他位置发生单击时,触发某些事件。但是当选中复选框时,我不想触发任何事件 这是我的标记Javascript 当一行内的复选框复选事件被激发时,单击事件也激发,javascript,jquery,Javascript,Jquery,我在表的各个行中都有复选框 我希望当行中的其他位置发生单击时,触发某些事件。但是当选中复选框时,我不想触发任何事件 这是我的标记 <tbody data-bind="foreach:CustomerList"> <tr onclick="removepage();" onmouseover="changeRowColor(this)" onmouseout="restoreRowColor(this)">
<tbody data-bind="foreach:CustomerList">
<tr onclick="removepage();" onmouseover="changeRowColor(this)" onmouseout="restoreRowColor(this)">
<td>
<input class="checkbox" data-bind="attr: { Id: 'checkbox' + $data.Id },click:$parent.customerClick" 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 (event) {
event.stopPropagation();
}
,您正在使用e,而没有将其添加为函数的参数 所以只需在函数()中添加e
在java脚本中,您可以停止冒泡事件listner,因为您有一些Listenr到您的事件,您可以停止冒泡到其他事件 事件。停止播放()
您正在寻找的方法是您应该像这样绑定事件:
$(“#测试>车身>tr”)
.on(“单击”,“td:not(.notfiring)”,函数(){
警报(“点击tr”);
});代码>
第1列
第2列
在您的代码中,e
未定义?!将不带引号的“e”作为参数传递给customerClick函数,然后再次检查。
customerClick: function (event) {
event.stopPropagation();
}
customerClick: function(e) {
e.stopPropagation();
},