Javascript 单击重叠项目上的事件
我有Javascript 单击重叠项目上的事件,javascript,jquery,events,onclick,buttonclick,Javascript,Jquery,Events,Onclick,Buttonclick,我有 具有单击事件的表行 按钮,该按钮位于表行上 我有个问题。当我点击按钮时,行单击事件也会执行,但我不希望出现这种行为。我只需要按钮单击执行,不需要行单击。查看代码这是在按钮单击事件中应该执行的操作 使用jQuery(由于问号): 您可以在单击时调用额外的函数 这就是功能: 巴顿的单键你可以这样写 onclick="yourfunctionname();cancelBubble(event)" yourfunctionname::是您正在调用的函数的名称。另外 我有一个覆盖在可点击元素上
- 具有单击事件的表行
- 按钮,该按钮位于表行上
我有个问题。当我点击按钮时,行单击事件也会执行,但我不希望出现这种行为。我只需要按钮单击执行,不需要行单击。查看代码这是在按钮单击事件中应该执行的操作 使用jQuery(由于问号):
您可以在单击时调用额外的函数 这就是功能: 巴顿的单键你可以这样写
onclick="yourfunctionname();cancelBubble(event)"
yourfunctionname::是您正在调用的函数的名称。另外
我有一个覆盖在可点击元素上的下拉列表。因此,对于所有现代浏览器,只需使用以下方法来防止传播到底层元素
onclick="yourfunctiontohandle();event.stopPropagation();"
对于较旧的跨浏览器解决方案,必须使用IE event.cancelBubble
onclick="if(event.stopPropagation) event.stopPropagation(); else event.cancelBubble=true;"
由于不推荐使用全局事件,如果有人想使用纯javascript,这里是停止传播的方法
document.querySelector(“#outer”).addEventListener('click',e=>{console.log('outer div clicked'));
document.querySelector(“#internal”).addEventListener('click',e=>{console.log('internal div clicked');e.stopPropagation()代码>
onclick="yourfunctiontohandle();event.stopPropagation();"
onclick="if(event.stopPropagation) event.stopPropagation(); else event.cancelBubble=true;"