zoukankan      html  css  js  c++  java
  • JavaScript中的鼠标滚轮事件详解

    JavaScript中的鼠标滚轮事件详解
    /*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)
    if(document.addEventListener){
      document.addEventListener('DOMMouseScroll',scrollFunc,false);
    }

    Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件 ~~~otherBrowser: window.onmousewheel = handler;
    window.onmousewheel=document.onmousewheel=scrollFunc;  //IE/Opera/Chrome

    其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

    1. 注册事件
    if(document.addEventListener){
      document.addEventListener('DOMMouseScroll',scrollFunc,false);
    }//W3C
    window.onmousewheel=document.onmousewheel=scrollFunc;  //IE/Opera/Chrome

    2. detail(firefox)与wheelDelta(otherBrowser)

    判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、Safari、Firefox、Chrome)中Firefox使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个值,firefox:detail只取±3,otherBrowser: wheelDelta只取±120,其中正数表示为向上,负数表示向下。

    <p><label for="wheelDelta">滚动值:</label>(IE/Opera)<input type="text" id="wheelDelta" /></p>
    <p><label for="detail">滚动值:(Firefox)</label><input type="text" id="detail" /></p>
    <script type="text/javascript">
    var oTxt=document.getElementById("txt");
    /***********************
    * 函数:判断滚轮滚动方向
    * 作者:walkingp
    * 参数:event
    * 返回:滚轮方向 1:向上 -1:向下
    *************************/
    var scrollFunc=function(e){
    var direct=0;
    e=e || window.event;

    var t1=document.getElementById("wheelDelta");
    var t2=document.getElementById("detail");
    if(e.wheelDelta){  //IE/Opera/Chrome
    t1.value=e.wheelDelta;
    }else if(e.detail){  //Firefox
    t2.value=e.detail;
    }
    ScrollText(direct);
    } // scrollFunc end


    /*注册事件*/
    if(document.addEventListener){
       document.addEventListener('DOMMouseScroll',scrollFunc,false);
    }//W3C
       window.onmousewheel=document.onmousewheel=scrollFunc; //IE/Opera/Chrome/Safari
    </script>

  • 相关阅读:
    【洛谷P3834】【模板】可持久化线段树1
    【JZOJ3054】祖孙询问【LCA】
    【JZOJ3054】祖孙询问【LCA】
    【洛谷P3919】【模板】可持久化数组【主席树】
    【洛谷P3919】【模板】可持久化数组【主席树】
    【CF735D】Taxes【数论,数学】
    【CF735D】Taxes【数论,数学】
    字符串常量String
    nextInt和nexLine
    next与nextLine
  • 原文地址:https://www.cnblogs.com/stephenykk/p/3772430.html
Copyright © 2011-2022 走看看