您好,登錄后才能下訂單哦!
jQuery事件對象的屬性和方法,供大家參考,具體內(nèi)容如下
事件對象的屬于與方法有很多,但是我們經(jīng)常用的只有那么幾個,這里我主要說下作用與區(qū)別
event.type:獲取事件的類型
觸發(fā)元素的事件類型
$("a").click(function(event) { alert(event.type); // "click"事件 });
event.pageX 和 event.pageY:獲取鼠標當前相對于頁面的坐標
通過這2個屬性,可以確定元素在當前頁面的坐標值,鼠標相對于文檔的左邊緣的位置(左邊)與 (頂邊)的距離,簡單來說是從頁面左上角開始,即是以頁面為參考點,不隨滑動條移動而變化
event.preventDefault() 方法:阻止默認行為
這個用的特別多,在執(zhí)行這個方法后,如果點擊一個鏈接(a標簽),瀏覽器不會跳轉(zhuǎn)到新的 URL 去了。我們可以用 event.isDefaultPrevented() 來確定這個方法是否(在那個事件對象上)被調(diào)用過了
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發(fā)的任何前輩元素上的事件處理函數(shù)
event.which:獲取在鼠標單擊時,單擊的是鼠標的哪個鍵
event.which 將 event.keyCode 和 event.charCode 標準化了。event.which也將正?;陌粹o按下(mousedown 和 mouseupevents),左鍵報告1,中間鍵報告2,右鍵報告3
event.currentTarget : 在事件冒泡過程中的當前DOM元素
冒泡前的當前觸發(fā)事件的DOM對象, 等同于this.
this和event.target的區(qū)別:
js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標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> <h4>事件對象的屬性與方法</h4> <div class="left"> <div id="content"> 外層div元素 <br /> <span >內(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>
點擊span冒泡到content的點擊事件,然后進入到content的click function里面執(zhí)行阻止冒泡語句,也就不會冒泡到body,所以點擊span不會出現(xiàn)body元素被點擊。
$('#msg').html($('#msg').html()+ "<p>內(nèi)層span元素被單擊</p>"); //在msg原有內(nèi)容上追加
$('#msg').html("<p>內(nèi)層span元素被單擊</p>"); //替換原來的內(nèi)容
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。