jQuery事件對象的屬性和方法詳解
jQuery事件對象的屬性和方法,供大家參考,具體內(nèi)容如下
事件對象的屬于與方法有很多,但是我們經(jīng)常用的只有那么幾個(gè),這里我主要說下作用與區(qū)別
event.type:獲取事件的類型
觸發(fā)元素的事件類型
$("a").click(function(event) { alert(event.type); // "click"事件 });
event.pageX 和 event.pageY:獲取鼠標(biāo)當(dāng)前相對于頁面的坐標(biāo)
通過這2個(gè)屬性,可以確定元素在當(dāng)前頁面的坐標(biāo)值,鼠標(biāo)相對于文檔的左邊緣的位置(左邊)與 (頂邊)的距離,簡單來說是從頁面左上角開始,即是以頁面為參考點(diǎn),不隨滑動(dòng)條移動(dòng)而變化
event.preventDefault() 方法:阻止默認(rèn)行為
這個(gè)用的特別多,在執(zhí)行這個(gè)方法后,如果點(diǎn)擊一個(gè)鏈接(a標(biāo)簽),瀏覽器不會(huì)跳轉(zhuǎn)到新的 URL 去了。我們可以用 event.isDefaultPrevented() 來確定這個(gè)方法是否(在那個(gè)事件對象上)被調(diào)用過了
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發(fā)的任何前輩元素上的事件處理函數(shù)
event.which:獲取在鼠標(biāo)單擊時(shí),單擊的是鼠標(biāo)的哪個(gè)鍵
event.which 將 event.keyCode 和 event.charCode 標(biāo)準(zhǔn)化了。event.which也將正?;陌粹o按下(mousedown 和 mouseupevents),左鍵報(bào)告1,中間鍵報(bào)告2,右鍵報(bào)告3
event.currentTarget : 在事件冒泡過程中的當(dāng)前DOM元素
冒泡前的當(dāng)前觸發(fā)事件的DOM對象, 等同于this.
this和event.target的區(qū)別:
js中事件是會(huì)冒泡的,所以this是可以變化的,但event.target不會(huì)變化,它永遠(yuǎn)是直接接受事件的目標(biāo)DOM元素;
.this和event.target都是dom對象
如果要使用jquey中的方法可以將他們轉(zhuǎn)換為jquery對象。比如this和$(this)的使用、event.target和$(event.target)的使用;
參考代碼:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .left div, .right div { width: 500px; height: 100px; padding: 5px; margin: 5px; float: left; border: 1px solid #ccc; } .left div { background: #bbffaa; } .right div { background: yellow; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <h3>事件對象的屬性與方法</h3> <div class="left"> <div id="content"> 外層div元素 <br /> <span style="background: silver;">內(nèi)層span元素</span> <br /> 外層div元素 </div> <br /> <div id="msg"></div> </div> <script type="text/javascript"> //為 <span> 元素綁定 click 事件 $("span").click(function() { $("#msg").html($("#msg").html() + "<p>內(nèi)層span元素被單擊</p>"); }); //為 Id 為 content 的 <div> 元素綁定 click 事件 $("#content").click(function(event) { $("#msg").html($("#msg").html() + "<p>外層div元素被單擊</p>"); event.stopPropagation(); //阻止事件冒泡 }); //為 <body> 元素綁定 click 事件 $("body").click(function() { $("#msg").html($("#msg").html() + "<p>body元素被單擊</p>"); }); </script> </body> </html>
點(diǎn)擊span冒泡到content的點(diǎn)擊事件,然后進(jìn)入到content的click function里面執(zhí)行阻止冒泡語句,也就不會(huì)冒泡到body,所以點(diǎn)擊span不會(huì)出現(xiàn)body元素被點(diǎn)擊。
$('#msg').html($('#msg').html()+ "<p>內(nèi)層span元素被單擊</p>"); //在msg原有內(nèi)容上追加
$('#msg').html("<p>內(nèi)層span元素被單擊</p>"); //替換原來的內(nèi)容
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JQuery實(shí)現(xiàn)折疊式菜單的詳細(xì)代碼
這篇文章主要介紹了JQuery實(shí)現(xiàn)折疊式菜單的詳細(xì)代碼,本文通過實(shí)例代碼通過兩種風(fēng)格給大家詳細(xì)介紹,需要的朋友可以參考下2020-06-06jQuery對象和DOM對象之間相互轉(zhuǎn)換的方法介紹
這篇文章主要介紹了jQuery對象和DOM對象之間相互轉(zhuǎn)換的方法介紹,本文講解了jQuery對象轉(zhuǎn)成DOM對象、DOM對象轉(zhuǎn)換成jQuery對象 方法,需要的朋友可以參考下2015-02-02JQuery中如何傳遞參數(shù)如click(),change()等具體實(shí)現(xiàn)
有個(gè)需求讓兩個(gè)select中option相互轉(zhuǎn)換,這個(gè)作業(yè)就是給幾個(gè)按鈕添加click()事件接下來為大家介紹下如何在click(),change()傳遞參數(shù)2013-04-04JQuery的Pager分頁器實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了JQuery的Pager分頁器實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05jQuery 常用特效實(shí)例小結(jié)【顯示與隱藏、淡入淡出、滑動(dòng)、動(dòng)畫等】
這篇文章主要介紹了jQuery 常用特效,結(jié)合實(shí)例形式總結(jié)分析了jquery顯示與隱藏、淡入淡出、滑動(dòng)、動(dòng)畫等常用特效實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-05-05jQuery實(shí)現(xiàn)的鼠標(biāo)拖動(dòng)畫矩形框示例【可兼容IE8】
這篇文章主要介紹了jQuery實(shí)現(xiàn)的鼠標(biāo)拖動(dòng)畫矩形框,結(jié)合實(shí)例形式分析了jQuery基于事件響應(yīng)及頁面元素屬性動(dòng)態(tài)操作實(shí)現(xiàn)的圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2019-05-05『jQuery』.html(),.text()和.val()的概述及使用
如何使用jQuery中的.html(),.text()和.val()三種方法,用于讀取,修改元素的html結(jié)構(gòu),元素的文本內(nèi)容,以及表單元素的value值的方法2013-04-04