2012-07-04

jQuery Event Object

有沒有按下 Alt、Ctrl 或 Shift 鍵?
  • altKey
  • ctrlKey / metaKey
  • shiftKey 
true 表示按下,false 則沒有。

三個 target?
  • target - 案發地點,也就是 Event 被觸發的物件
  • currentTarget - 泡泡經過的物件
  • relatedTarget - mouse 相關的物件,mouseover 或 mouseenter 的 target 表示進入的物件,在進入的同時,也離開了某個物件,而 relatedTarget 就是表示離開的物件;反過來 ,mouseout 或 mouseleave 的 target 表示離開的物件,而 relatedTarget 就是表示進入的物件。

游標位置
  • pageX 與 pageY - mouse 相關物件,案發時游標所在位置,相對於整篇文件。
  • screenX 與 screenY - mouse 相關物件,案發時游標所在位置,相對於螢幕。


  • type - Event type,如 click 或 mouseenter。
  • which - 對 keyboard event 來說是按下「鍵盤」哪個鍵,對 mouse event 來說是按下「滑鼠」哪個鍵,左鍵為 1,中鍵為 2,右鍵為 3。
  • data - 註冊 Event Listener 時傳進來的資料,bind(...)  的第二個參數,click(...) 的第一個參數。
  • result - ???
  • timestamp -???

一些 functions
  • preventDefault() / isDefaultPrevented()
  • stopPropagation() / isPropagationStopped()
  • stopImmediatePropagation() / isImmediatePropagationStopped() - 同一個 Dom 物件的同一種 Event Type 若註冊有多筆 Listener,若其中一筆呼叫這個 function,後面尚未執行 Listener 都會跳過;奇怪的是,browser 又不保證所有 Listener 的執行順序,那這個 function 就很難用了啊。
前兩個請看「jQuery preventDefault, stopPropagation, and return false」。

沒有留言:

張貼留言