事件冒泡不是事件默认行为。
1. 阻止事件冒泡:
IE下:window.event.cancelBubble = true;
谷歌火狐等:event.stopPropagation();
合起来:window.event ? window.event.cancleBubble = true : event.stopPropagation();
2. 取消事件事件默认行为:
大多数在事件绑定函数末尾添加 return false;即可取消默认行为,但是如果事件是addEventListener,用event.preventDefault && event.preventDefault();代替,IE8及以下不支持
1)a标签的跳转
标签中:<a href="java-script:;"></a>
或
element.onclick中:return false; 或下面
addEventListener中:event.preventDefault && event.preventDefault();
2)右键出现右键菜单
document.oncontextmenu = function() { return false; }
3)滚动滚轮 如果浏览器有滚动条会随之滚动
element.mousewheel(非火狐)中:return false; 或下面
addEventListener中:event.preventDefault && event.preventDefault();
本文详细介绍如何在JavaScript中阻止事件冒泡及取消事件默认行为,包括a标签跳转、右键菜单、滚轮滚动等场景的具体实现方法。
930

被折叠的 条评论
为什么被折叠?



