JS事件物件(event)

2020-08-08 14:48:39
事件物件用於描述所產生的事件。呼叫事件處理程式時,JS會把事件物件作爲參數傳給事件處理程式。事件物件提供了有關事件的詳細資訊,因而可以在事件處理程式中通過事件物件獲取有關事件的相關資訊,例如獲取事件源的名稱、鍵盤按鍵的狀態、滑鼠遊標的位置、滑鼠按鈕的狀態等資訊。

需要注意的是,事件物件在不同瀏覽器中存在相容問題:在 IE/Chrome,事件物件爲 event 物件,爲一個內建全域性物件,而 event 物件在 Firefox 不存在這個物件,對 Firefox 需要使用一個區域性變數來接收有關事件的相關資訊。可見,在獲取事件物件時需要進行相容處理,具體做法請參見範例 1。

所有標準瀏覽器(包括 IE9、IE10、IE11、Chrome 和 Firefox),事件物件都是使用事件函數的第一個參數表示,有關事件的所有詳細資訊都將傳入這個參數。由前面的描述可知,事件物件必須在一個事件呼叫的函數裏面使用纔有事件的相關資訊。

事件物件包含的有關事件的所有資訊以及事件具有的一些特性都是通過該物件的屬性和方法來體現的,表 1 列出了事件物件的一些常用屬性和方法。

表 1:事件物件的常用屬性和方法
屬性/方法 說明
altKey 用於判斷鍵盤事件發生時“Alt”鍵是否被按下
button
用於判斷滑鼠事件發生時哪個滑鼠鍵被點選了。在遵循 W3C 標準的瀏覽器中,滑鼠左、中、右鍵分別用 0、1 和 2 表示;不遵循 W3C 標準的IE瀏覽器中,滑鼠左、中、右鍵分別用 1、4 和 2 表示