滚轮事件的防冒泡、阻止默认行为的代码(效果是:只让当前div滚动,连当前文档都不滚动的效果)

//用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);

原文地址:https://www.cnblogs.com/koleyang/p/4892058.html