由于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?????ide
var oEvent=ev||event;函数
这一句这么写是要兼容各个浏览器,spa
在FireFox浏览器中,事件绑定的函数要获取到事件自己,须要从函数中传入,而IE等浏览器则能够直接使用event或者window.event获得事件自己。3d
这一句的用途:须要获取和事件相关的信息时使用。如:blog
获取键盘按下或弹起的按键事件
获取鼠标的位置坐标get
获取出发改事件的元素it
获取事件名称io
获取事件当前的传播阶段
获取事件生成的日期时间
至于上面这些怎么获取,可补一下js事件方面的相关函数和属性。
例子:
<div id="dd"> </div>
o=document.getElementById("dd");
o.onclick=function (ev){
var oEvent=ev||event;
alert(oEvent.screenX);
}