我有一个onclick事件附加到页面中的一个区域,当用户点击它时(自然地),会导致某个动作触发。我最近在该地区添加了一张图片。当用户点击该图像时,我想要发生另一个动作,并且我不希望与整个区域相关联的动作发生。但是,我发现这两个事件实际上是在点击图像时触发的。点击图像时如何抑制区域范围内的操作?Javascript:单个动作触发多个事件
1
A
回答
4
Darit是正确的,你需要从冒泡停止事件(传播):
function imgEventHandler(e) {
// ^notice: pass 'e' (W3C event)
// W3C:
e.stopPropagation();
// IE:
if (window.event) {
window.event.cancelBubble = true;
}
}
1
在该图像的事件处理程序做
event.cancelBubble = true;
,然后在年底做
return false;
5
你正在运行到被称为事件冒泡的问题。图像的点击事件起泡到该节点的所有父元素。你想取消冒泡。
在所有浏览器中执行此操作的最佳方法是使用JavaScript框架。 jQuery有一个非常简单的方法来做到这一点。其他框架有类似的机制来取消冒泡,我只是碰巧熟悉jQuery。
例如,你可以做这样的事情在jQuery的:
$('img').click(function() {
// Do some stuff
return false;// <- Cancels bubbling to parent elements.
});
相关问题
- 1. 触发多个事件与单个onClick
- 2. JavaScript多个事件不能触发
- 3. Jquery:从单个事件触发多个操作 - 或 -
- 4. Socket.io触发多个事件
- 5. 多个onClick事件触发
- 6. 多个Application_Start事件触发
- 7. 触发多个CSS事件
- 8. 多次触发移动JavaScript事件
- 9. 如何触发多个悬停动作/事件?
- 10. 单用户行动发射两个事件 - 第二个事件不会触发
- 11. 哪个事件在动作事件之后被触发?
- 12. 重新触发一个JavaScript事件
- 13. 触发JavaScript回调的几个事件
- 14. 在单个keydown上触发不需要的多个KeyDown事件
- 15. Ember多个属性更改,但想要触发单个事件
- 16. 如何触发条件的多个动作NG单击
- 17. 如何触发多个MouseEvent事件
- 18. jQuery等待多个事件触发
- 19. EditText OnLongClickListener触发多个事件
- 20. 多个OnClick JQuery事件触发
- 21. 多个鼠标事件不会触发
- 22. Android为多个ImageViews触发onTouch事件
- 23. 在多个视图中触发事件
- 24. JQuery - 防止触发多个事件
- 25. Twitter Bootstrap模式多个事件触发
- 26. jQuery,使用多个事件触发器?
- 27. 用jquery触发多个事件onclick
- 28. 指定多个事件来触发StringValidator?
- 29. 触发多个jQuery的事件
- 30. 用键盘Javascript触发这个动作
最正确的答案,但我相信“回报错误”也是必需的。 – annakata 2009-06-08 16:24:49