我有一个 onclick
事件附加到我页面中的一个区域,当用户点击它时(自然地)会触发某个 Action 。我最近向该区域添加了一个图像。当用户单击该图像时,我希望发生另一个 Action ,但我不希望发生与整个区域相关的 Action 。但是,我发现这两个事件实际上都是在单击图像时触发的。单击图像时如何抑制区域范围的操作?
最佳答案
您遇到的问题称为事件冒泡。图像的点击事件冒泡到该节点的所有父元素。你想取消冒泡。
执行此操作并适用于所有浏览器的最佳方法是使用 JavaScript 框架。 jQuery有一个非常简单的方法来做到这一点。其他框架也有类似的取消冒泡的机制,我只是碰巧最熟悉jQuery。
例如,你可以在 jQuery 中做这样的事情:
$('img').click(function () {
// Do some stuff
return false;// <- Cancels bubbling to parent elements.
});
关于javascript - 从单个操作触发多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965689/