event對(duì)象
js中一切都是對(duì)象敢茁,可這個(gè)對(duì)象和對(duì)象是不同的佑淀。比如event對(duì)象。
什么是event對(duì)象彰檬?
對(duì)于HTML
Event 對(duì)象代表事件的狀態(tài)伸刃,比如事件在其中發(fā)生的元素谎砾、鍵盤按鍵的狀態(tài)、鼠標(biāo)的位置捧颅、鼠標(biāo)按鈕的狀態(tài)景图。
事件通常與函數(shù)結(jié)合使用,函數(shù)不會(huì)在事件發(fā)生前被執(zhí)行碉哑!
對(duì)于js
Event對(duì)象代表事件的狀態(tài)挚币,比如事件在其中發(fā)生的元素、鍵盤按鍵的狀態(tài)扣典、鼠標(biāo)的位置妆毕、鼠標(biāo)按鈕的狀態(tài)。
它是事件綁定中的一個(gè)隱藏參數(shù)贮尖,即實(shí)參笛粘,可以使用arguments[0]來(lái)獲取。但是這樣比較麻煩湿硝,所以我們采取傳遞一個(gè)形參來(lái)獲取它薪前。
例如:var e = event || window.event;考慮到兼容性。
JS的Event對(duì)象是觸發(fā)事件的時(shí)候傳遞給事件處理函數(shù)的一個(gè)對(duì)象关斜,這個(gè)對(duì)象中存在觸發(fā)事件的基本信息示括。如:觸發(fā)事件的事件源、鍵盤碼(如果存在)等基本信息蚤吹。
舉個(gè)例子
$(function(){
$("p").on("click",{msg:"you clicked me"},function(e){
alert(e.data.msg);
});
})
上述function中的參數(shù)e就是event對(duì)象例诀,用于屬性和方法。
event對(duì)象能干啥裁着?
比如獲取鼠標(biāo)位置(現(xiàn)實(shí)需求)繁涂,就是利用event對(duì)象的clientX屬性。試想沒有event對(duì)象如何獲取鼠標(biāo)位置二驰?
js獲取鼠標(biāo)位置實(shí)例詳解javascript技巧腳本之家
JavaScript獲取鼠標(biāo)位置的三種方法 - Scott-Jeremy - 博客園