由於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);
}