jQuery|event的屬性和方法

jQuery事件對象event的屬性和方法

事件處理(事件對象、目標(biāo)元素的獲取,事件對象的屬性、方法等)在不同瀏覽器之間存在差異,jQuery在遵循W3C規(guī)范的情況下做了封裝統(tǒng)一

事件對象常用的屬性:

event.type:獲取事件的類型,觸發(fā)元素的事件類型

$("a").click(function(event) {
alert(event.type); // "click"事件
});

event.pageX 和 event.pageY:獲取鼠標(biāo)當(dāng)前相對于頁面的坐標(biāo),可以確定元素在當(dāng)前頁面的坐標(biāo)值,是以頁面為參考點(diǎn),不隨滑動條移動而變化

$("a").click(function(event) {
alert("Current mouse position: " + event.pageX + ", " + event.pageY );
return false;
});

event.target:獲取觸發(fā)事件的元素

this和event.target的區(qū)別:

js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠(yuǎn)是直接接受事件的目標(biāo)DOM元素;

this和event.target都是dom對象,可以轉(zhuǎn)換為jquery對象:$(this)和$(event.target)

$("a[href=http://www.baidu.com]").click(function(event) {
alert(event.target.href);
return false;
});

event.which:獲取在鼠標(biāo)單擊事件中鼠標(biāo)的左、中、右鍵(左鍵1,中間鍵2,右鍵3),在鍵盤事件中鍵盤的鍵碼值

$("a").mousedown(function(e){
alert(e.which);
return false;
})
event.currentTarget : 獲取冒泡前的當(dāng)前觸發(fā)事件的DOM對象, 等同于this

事件對象常用的方法:

event.preventDefault() :

阻止默認(rèn)行為,可以用 event.isDefaultPrevented() 來確定preventDefault是否被調(diào)用過了

event.stopPropagation() :

阻止事件冒泡,事件是可以冒泡的,為防止事件冒泡到DOM樹上,不觸發(fā)任何前輩元素上的事件處理函數(shù),可以用 event.isPropagationStopped() 來確定stopPropagation是否被調(diào)用過了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,370評論 0 8
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,379評論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,202評論 0 1
  • 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,640評論 2 10
  • 很多人抱怨生活單調(diào)、乏味,不知道改如何樣改變自己的命運(yùn)。看著別人一步步走向成功,除了羨慕嫉妒以外,對自己的人生會更...
    漫步者說事閱讀 710評論 9 13