单击重叠项目上的事件

我有

  • 具有单击事件的表行
  • 单击事件按钮,该按钮在表格行上

我有问题 当我点击按钮时,行点击事件也会执行,但我不想要这种行为。 我只希望按钮点击执行,没有行点击。

看看你的代码这是你在按钮点击事件stopPropagation中应该做的

使用jQuery(由于问题标签):

$('#yourButton').click(function(e) { // stop event from bubbling up to row element e.stopPropagation(); // now do your stuff }); 

你可以在onClick上调用额外的函数

这是function:

 function cancelBubble(e){ e.cancelBubble = true; if(e.stopPropagation) e.stopPropagation(); } 

和按钮的onClick你可以像写

 onclick="yourfunctionname();cancelBubble(event)" 

yourfunctionname ::是您正在调用的函数的名称。

我还有一个覆盖在可点击元素上的下拉列表。 因此,只需使用以下内容即可防止传播到所有现代浏览器的底层元素

 onclick="yourfunctiontohandle();event.stopPropagation();" 

对于较旧的跨浏览器解决方案,必须使用IE event.cancelBubble

 onclick="if(event.stopPropagation) event.stopPropagation(); else event.cancelBubble=true;"