zoukankan      html  css  js  c++  java
  • 为什么JS事件函数里面都有一个参数(ev)?

    因为ev是事件的参数啊!在ev中包含了事件触发时的参数,比如click事件的ev中包含着.e.pageX,e.pageY,keydown事件中包含着ev.keyCode等,在ie中,ev是全局的可以通过window.event来获取,在其他浏览器中都是作为参数传入的。
    所以好多事件函数都是这样写:
    mydiv.onclick = function(ev){
      if(!ev){ev = window.event;} //这句也可以简写成:ev=window.event||ev;
      alert(ev.pageX+","+ev.pageY);
    }

    JS里面什么时候会用到var oEvent=ev||event?????

    var oEvent=ev||event;

    这一句这么写是要兼容各个浏览器,

    在FireFox浏览器中,事件绑定的函数要获取到事件本身,需要从函数中传入,而IE等浏览器则可以直接使用event或者window.event得到事件本身。

    这一句的用途:需要获取和事件相关的信息时使用。如:

    1. 获取键盘按下或弹起的按键

    2. 获取鼠标的位置坐标

    3. 获取出发改事件的元素

    4. 获取事件名称

    5. 获取事件当前的传播阶段搜索

    6. 获取事件生成的日期时间

    至于上面这些怎么获取,可补一下js事件方面的相关函数和属性。

    例子:

    <div id="dd"> </div>

    o=document.getElementById("dd");

    o.onclick=function (ev){

    var oEvent=ev||event;

    alert(oEvent.screenX);

  • 相关阅读:
    js 解压缩编码列表
    js 拥有最多糖果
    js 所有奇数长度子数组的和
    js和jquery中有关透明度操作的问题
    python pandas初体验
    NumPy基础及取值操作
    python之pandas简介
    Study Plan The FortyThird day
    Study Plan The ThirtyNine Day
    Study Plan The FortySeventh Day
  • 原文地址:https://www.cnblogs.com/lilirufeng/p/6045969.html
Copyright © 2011-2022 走看看