单击重叠项目上的事件
我有
- 具有单击事件的表行
- 单击事件按钮,该按钮在表格行上
我有问题 当我点击按钮时,行点击事件也会执行,但我不想要这种行为。 我只希望按钮点击执行,没有行点击。
看看你的代码这是你在按钮点击事件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;"