阻止默认滚轮事件

; !function () {
        var keys = { 37: 1, 38: 1, 39: 1, 40: 1 };

        function preventDefault(e) {
            e = e || window.event;
            if (e.preventDefault)
                e.preventDefault();
            e.returnValue = false;
        }

        function preventDefaultForScrollKeys(e) {
            if (keys[e.keyCode]) {
                preventDefault(e);
                return false;
            }
        }
        var oldonwheel, oldonmousewheel1, oldonmousewheel2, oldontouchmove, oldonkeydown
        , isDisabled;
        function disableScroll() {
            if (window.addEventListener) // older FF
                window.addEventListener(‘DOMMouseScroll‘, preventDefault, false);
            oldonwheel = window.onwheel;
            window.onwheel = preventDefault; // modern standard

            oldonmousewheel1 = window.onmousewheel;
            window.onmousewheel = preventDefault; // older browsers, IE
            oldonmousewheel2 = document.onmousewheel;
            document.onmousewheel = preventDefault; // older browsers, IE

            oldontouchmove = window.ontouchmove;
            window.ontouchmove = preventDefault; // mobile

            oldonkeydown = document.onkeydown;
            document.onkeydown = preventDefaultForScrollKeys;
            isDisabled = true;
        }

        function enableScroll() {
            if (!isDisabled) return;
            if (window.removeEventListener)
                window.removeEventListener(‘DOMMouseScroll‘, preventDefault, false);

            window.onwheel = oldonwheel; // modern standard

            window.onmousewheel = oldonmousewheel1; // older browsers, IE
            document.onmousewheel = oldonmousewheel2; // older browsers, IE

            window.ontouchmove = oldontouchmove; // mobile

            document.onkeydown = oldonkeydown;
            isDisabled = false;
        }
        window.scrollHanlder = {
            disableScroll: disableScroll,
            enableScroll: enableScroll
        };
    }();
时间: 2024-11-06 03:30:42

阻止默认滚轮事件的相关文章

阻止默认/冒泡事件(兼容ie)

(1) 阻止默认事件 function(e){ if(e && e.preventDefault){ e.preventDefault(); }else{ //IE window.event.returnValue = false; } } (2) 阻止冒泡事件 function(e){ if(e && e.stopPropagation){ e.stopPropagation(); }else{ //IE window.event.cancleBubble = true;

阻止默认事件发生的方法

在事件处理函数中,添加return false; 标准浏览器中用的是 事件对象.preventDefault() IE低版本浏览器的写法:window.event.returnValue = false; 兼容各种浏览器的写法: if(evt.preventDefault) { evt.preventDefault(); //标准浏览器的阻止默认事件的写法 } else { evt.returnValue = false; //IE低版本浏览器的写法 } 3 超链接a,除了具有以上两种阻止默认事

阻止右键菜单(阻止默认事件)&&跟随鼠标移动(大图展示)&&自定义右键菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

阻止默认事件event.preventDefault();

阻止浏览器默认事件.什么是默认事件,例如浏览器默认右键菜单.a标签默认连接跳转...,如何阻止呢? Firefox中,event必须作为参数传入.  IE中,event是window对象的属性. event.preventDefault();方法用于取消默认事件,但是不兼容IE,在IE下,要用event.returnValue=false;来处理. document.oncontextmenu=function (ev) { var oEvent=ev||event; if (oEvent.pr

javascript事件之: 事件冒泡, 事件捕获 ,阻止默认事件

谈起JavaScript的 事件,事件冒泡.事件捕获.阻止默认事件这三个话题,无论是面试还是在平时的工作中,都很难避免. 冒泡篇: 先来看一段实例: js: var $input = document.getElementsByTagName("input")[0]; var $div = document.getElementsByTagName("div")[0]; var $body = document.getElementsByTagName("

阻止默认事件

阻止默认事件的代码是什么样子的呢? $("a").click(function(event){ event.preventDefault(); }); 类似于这种  但是这个是jquery的写法   js的和这个一样  最重要的是 函数中加了一个event   然后 event.preventDefault();  这行代码  那么他们有什么用呢    看上边代码中你就知道   如果你的body中有一个a标签 并且你的a标签是有链接的  那么这个时候你就会发现 无法跳转  对 就是无法

DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理

事件对象——兼容处理 1 /* 2 * 功能: 事件对象兼容 3 * 参数: 表示常规浏览器的事件对象e 4 */ 5 function getEvent(e) { 6 7 // 如果存在e存在,直接返回,否则返回window.event 8 return e || window.event; 9 } 获取事件所对应的目标——兼容处理 1 /* 2 3 * 功能: 获取事件所对应的目标 4 5 * 参数: 表示常规浏览器的事件对象e 6 7 */ 8 9 function getTargetBy

锋利的jQuery-4--阻止事件冒泡和阻止默认行为

阻止事件冒泡: 如果嵌套元素分别有自己的click事件,当点击内层元素时外层元素的事件也会被触发. $("span").bind("click", function(event){ //代码 event.stopPropagation(); //通过bind创建的事件对象event来执行 } ); 阻止默认行为: 网页中的默认行为,例如链接跳转和form提交,可以通过preventDefault()方法来阻止. $("#submit").bind

阻止事件冒泡和阻止默认行为

// 阻止事件冒泡 function stopBubble(e){ if(e && e.stopPropagation){ e.stopPropagation(); }else{ window.event.cancelBubble = true } } // 阻止默认行为 function stopDefault(e){ if(e && e.preventDefault){ e.preventDefaule() }else{ window.event.returnValue