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>

  • 相关阅读:
    Understanding about Baire Category Theorem
    Isometric embedding of metric space
    Convergence theorems for measurable functions
    Mindmap for "Principles of boundary element methods"
    Various formulations of Maxwell equations
    Existence and uniqueness theorems for variational problems
    Kernels and image sets for an operator and its dual
    [loj6498]农民
    [luogu3781]切树游戏
    [atAGC051B]Three Coins
  • 原文地址:https://www.cnblogs.com/stephenykk/p/3772430.html
Copyright © 2011-2022 走看看