Javascript 如何防止重叠元素的冒泡事件?

Javascript 如何防止重叠元素的冒泡事件?,javascript,Javascript,我需要一个如何阻止气泡闪烁的线索,只要我将鼠标指针移到气泡上方,这两个元素就相互放置,画布上的onMouseMove显然会干扰气泡,我使用Chrome进行测试 <p id="bubble" onclick="noBubble();"></p> <canvas id="kogal" width="450" height="630" onmousedown="onMouseDownkogal(this, event);" onmousemove="onMouseMove

我需要一个如何阻止气泡闪烁的线索,只要我将鼠标指针移到气泡上方,这两个元素就相互放置,画布上的onMouseMove显然会干扰气泡,我使用Chrome进行测试

<p id="bubble" onclick="noBubble();"></p>
<canvas id="kogal" width="450" height="630" onmousedown="onMouseDownkogal(this, event);" onmousemove="onMouseMoveKogal(this, event);" onmouseup="onMouseUpKogal();" onmouseout="onMouseOutKogal();">

只有当鼠标指针位于气泡上方时,才能停止画布的onMouseMove吗?我已经尝试过几种组合的preventDefault和returnfalse,但都没有效果,谢谢你的提示^_^

event.preventDefault()
只是防止发生默认事件行为,就像提交表单时重新加载页面一样。您需要的是
event.stopPropagation()
,它将防止事件冒泡到容器元素中


由于元素是兄弟元素,因此
p
元素上的事件不会触发
画布上的事件,反之亦然。如果您在
p
元素上,则不应在
canvas
元素上触发
mousemove
。证据:。或者可能
p
元素不在
画布的顶部
?我不确定我是否理解你的问题,但通常你可以通过写“return false”或使用jquery:event.stopPropagation()来阻止冒泡效应