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