TR 有 <tr onclick='alert("row");'>
按钮有:
$("body").on('click',".b",function (e){
alert('button');
e.stopPropagation();
});
但是-尽管我写了 e.stopPropagation();
它仍然会发出警报:“行,按钮”。
现在,我知道事件处理程序已附加到body
并检查了选择器(单击从按钮开始并向上移动到正文,就像$.live
使用做但反对document
...)。
但是检查应该是针对button
点击而不是针对TR
点击。
似乎当我单击时,它会传播到"body"
(因为我将事件处理程序附加到它),而当它到达正文时,它会激活对TR
.
这里发生了什么?我怎样才能保留我的代码(附加到正文)并且仍然只有“按钮”的警报。
附言
我知道我可以简单地做:
$(".b").on('click',function (e){
alert('button');
e.stopPropagation();
});
但我想知道为什么我当前的(!)代码不起作用。