jQuery通過event獲取點選事件的事件物件

2022-03-29 03:37:39 字數 1447 閱讀 7074

要想搞明白js的事件機制,必須搞清楚幾個概念:事件物件,事件源,還有事件流

當事件發生時會產生事件物件,事件物件的作用是用來記錄「事件發生是一些相關的資訊。注意事件物件只有在事件發生時才會產生,我們無法手動建立,並且事件物件只能在處理函式內部訪問,處理函式允許結束後該物件自動銷毀。

怎麼理解那??

如上**,當onmousemove事件發生時,就會產生乙個事件物件,就是程式中的event物件,我們只能在這個匿名函式中訪問到這個event物件,在函式外面是訪問不到的,同樣我們也無法手動建立這個event物件;

如何獲取事件物件那??

var e = event || window.event; 這句話就是定義了乙個變數來獲取事件物件,因為不同的瀏覽器獲取事件物件的方法有點不太一樣,ie下是window.event,標準下是event,為 了相容所以寫了event || window.event.

事件物件也分為:

滑鼠事件物件,鍵盤事件物件等,顧名思義滑鼠事件發生時產生滑鼠事件物件,鍵盤事件發生時產生鍵盤事件物件;既然是物件,就必然有一些屬性方法啥的。

滑鼠事件物件上的常用屬性:

clientx,clienty,screenx,screeny,offsetx,offsety

鍵盤事件物件上的屬性有:

keycode: 用來獲取鍵盤碼的;比如空格的鍵盤是32,回車13等

cltkey: 判斷alt鍵是否被按下,按下是true,反之false

ctrlkey: 判斷ctrlkey鍵是否被按下,按下是true,反之false

shiftkey : 判斷shiftkey 鍵是否被按下,按下是true,反之false

說到這裡相信大家應該理解「事件物件」了吧!接著說一說事件源。

事件源:

在事件中,當前操作的那個元素就是事件源。比如網頁元素中a標籤和input都有onclick事件,當點選a發生onclick事件時,事件源就是a標籤,當點選input傳送onclic事件是,事件源就是input。

如何獲取事件源那??

ie下:window.event.srcelement  

標準下:event.target

由此可見,我們是通過事件物件獲取到的事件源。

例如:點選乙個div外部的時候使div消失

$(document).click(function(event

) }

})

檢視事件的target:

jquery中通過屬性獲取元素

根據屬性獲取元素 p class css color red 給所有有class的p標籤設定紅色字型。根據屬性值獲取元素 1.input name san css background color red 匹配所有name以 san 結尾的input標籤設定紅色背景。選擇器 attribute va...

jQuery通過關係獲取結點

parent 返回被選元素的直接父元素,該方法只會向上一級對 dom 樹進行遍歷 parents 返回被選元素的所有祖先元素,不侷限於父元素。向上直到文件的根元素 可通過引數進行過濾 parentsuntil 返回介於兩個給定元素之間的所有祖先元素,不包含給定範圍兩端的元素。children 返回被...

event獲取的方式

簡介 event 物件代表事件的狀態,比如事件在其中發生的元素 鍵盤按鍵的狀態 滑鼠的位置 滑鼠按鈕的狀態。事件通常與函式結合使用,函式不會在事件發生前被執行!event物件的獲取方法 方法一 例如 function demo1 e 方法二 通用的方便的方法 這種方法方便之處在於不用傳引數 例如 f...