我想通过代表过度参加活动 我在表行添加委托。 我在行的一个单元格中也有一个按钮。 现在,当我单击按钮时,按钮单击事件将触发,但行单击事件也会触发 单击按钮时,我不希望行点击。 [链接查询] [1]
$(function(){
$("body").delegate("table tr","click",function(evt){
alert("row clicked");
});
$("body").delegate("table tr input[type=button]","click",function(evt){
alert("button clicked");
});
});
答案 0 :(得分:2)
首先,delegate
已被弃用,而不是on
。其次,您需要停止传播事件。试试这个:
$("body").on('click', "table tr input[type=button]", function(evt){
evt.stopPropagation();
alert("button clicked");
});
答案 1 :(得分:0)
这是因为事件冒泡而发生的。为了防止这种情况发生,您必须在按钮点击中使用evt.stopPropagation()
。
所以你的第二个事件处理程序应该是这样的
$("body").delegate("table tr input[type=button]","click",function(evt){
evt.stopPropagation();
alert("button clicked");
});