
26
|
第二章
些預設行為是可以取消的。做法是呼叫
event
物件的
preventDefault()
,或是直接讓事
件處理器回傳
false
:
form.addEventListener("submit", function(e){
/* ... */
return confirm(" 你真的確定嗎 ?");
}, false);
如果
confirm()
函式的回傳值是 false(使用者在確認對話框裡,按下了「取消」鈕)的
話,事件的回叫函式就會回傳 false,這麼一來就會取消事件,讓表單不會被送出。
Event 物件
除了前面介紹過的
stopPropagation()
和
preventDefault()
函式以外,
event
物件其實
還提供了許多實用的屬性。接下來介紹的是 W3C 規格裡面定義的大部分屬性;如果還
想取得更完整的資訊,可以參考完整版的 W3C 規格(
http://www.w3.org/TR/DOM-Level-
2-Events/
)。
事件類型:
bubbles
布林值(boolean),顯示事件是否以氣泡傳遞模式在 DOM 元件間傳播
和執行事件當下的環境相關的屬性:
button
如果觸發事件時有按下滑鼠鍵,會顯示出被按下的滑鼠鍵是哪個(些)
ctrlKey
布林值(boolean),顯示是否有按下 Ctrl 鍵
altKey
布林值(boolean),顯示是否有按下 Alt 鍵
shiftKey
布林值(boolean),顯示是否有按下 Shift 鍵
metaKey
布林值(boolean),顯示是否有按下 ...