1. 什麼是事件物件
官方解釋:event 物件代表事件的狀態,比如鍵盤按鍵的狀態、滑鼠的位置、滑鼠按鈕的狀態。
比如:誰繫結了這個事件。
滑鼠觸發事件的話,會得到滑鼠的相關資訊,如滑鼠位置。
鍵盤觸發事件的話,會得到鍵盤的相關資訊,如按了哪個鍵。
2. 事件物件的使用
事件觸發發生時就會產生事件物件,並且系統會以實參的形式傳給事件處理函式。
所以,在事件處理函式中宣告1個形參用來接收事件物件。
例子:
eventtarget.
onclick
=function
(event)
eventtarget.
addeventlistener
('click'
,function
(event)
)// event誰傳遞的?
// 函式的形參是由誰傳遞的? 呼叫者傳遞
// 事件處理程式是誰呼叫的。
// js引擎呼叫,div.onclick(e);
// 當事件發生之後,js引擎將事件相關資訊封裝為乙個物件,e。呼叫事件處理程式時將e傳遞
// var obj =
// }
// obj.onclick(e);
應用場景:什麼時候新增形參e:事件處理程式中需要用到事件物件,那麼就新增形參e
3. 事件物件的相容性處理
事件物件本身的獲取存在相容問題:
標準瀏覽器中是瀏覽器給方法傳遞的引數,只需要定義形參 e 就可以獲取到。
在 ie6~8 中,瀏覽器不會給方法傳遞引數,如果需要的話,需要到 window.event 中獲取查詢。
語法:
相容寫法:
e = e || window.event;
這個利用了短路邏輯運算:
如果瀏覽器支援e,而e轉boolean為true,則直接返回e
如果瀏覽器不支援e,會去識別window.event,然後返回window.event
**:
123<
/div>
var div = document.
queryselector
('div');
div.
onclick
=function
(e)<
/script>4. 事件物件的屬性和方法
JS 事件物件
在觸發dom上的某個事件時,會產生乙個事件物件event。這個物件中包含著所有與事件有關的資訊。包括導致事件的元素,事件的型別以及其他與特定事件相關的資訊。所有瀏覽器都支援event物件,event物件會傳入dom0級,dom2級,html指定,的事件處理程式中,但支援的方式不同,所以也會涉及跨瀏覽...
js 事件物件
事件繫結的格式 元素節點.on 事件型別 function 就是乙個事件物件 obtn 也是乙個物件,所以我們把上面中的.onclick function 看作是 obtn物件的乙個方法 函式 我們把這個事件函式寫在這以後,什麼事件呼叫的呢?我們都知道,只有按鈕被點選時才會呼叫這個事件函式,所以這個...
js事件物件
1 進入部落格 2 html event物件 在js中呼叫未被定義的變數,一般會報錯。我覺得這也是為什e e event中event要放在後面的原因。如果寫成window.event 其放在前面應該也沒關係 3 event物件 屬性和方法 屬性 button 判斷按滑鼠上的哪個鍵 0 沒有按鍵 1 ...