事件冒泡不是事件默认行为。
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();