本文为工具方法,提供简单但常用的js方法函数。
方法代码
//用firefox变量表示火狐代理
var firefox = navigator.userAgent.indexOf('Firefox') != -1;
function MouseWheel(e){ //阻止事件冒泡和默认行为的完整兼容性代码
e = e||window.event;
if (e.stopPropagation) { //这是取消冒泡
e.stopPropagation();
} else{
e.cancelBubble = true;
};
if (e.preventDefault) {//这是取消默认行为,要弄清楚取消默认行为和冒泡不是一回事
e.preventDefault();
} else{
e.returnValue = false;
};
}
var con = document.getElementById('content');
//要在content内部滚动,而页面不受影响,所以这里获取要滚动的对象
//如果是ff就绑定DOMMouseScroll事件,其他浏览器就用onmousewheel事件触发
firefox ? con.addEventListener('DOMMouseScroll',MouseWheel,false) : (con.onmousewheel = MouseWheel);
tips:
这里主要是要搞明白冒泡和默认行为不是同一回事;
对于鼠标滚轮事件,不同浏览器监听的方法是不一样的
想了解更多关于事件冒泡和默认事件的内容,请阅读:《阻止事件冒泡(event.stopPropagation())/阻止默认事件(event.preventDefault())》