jQuery事件對象的屬性和方法,供大家參考,具體內容如下
事件對象的屬于與方法有很多,但是我們經常用的只有那么幾個,這里我主要說下作用與區別
event.type:獲取事件的類型
觸發元素的事件類型
$("a").click(function(event) { alert(event.type); // "click"事件 });
event.pageX 和 event.pageY:獲取鼠標當前相對于頁面的坐標
通過這2個屬性,可以確定元素在當前頁面的坐標值,鼠標相對于文檔的左邊緣的位置(左邊)與 (頂邊)的距離,簡單來說是從頁面左上角開始,即是以頁面為參考點,不隨滑動條移動而變化
event.preventDefault() 方法:阻止默認行為
這個用的特別多,在執行這個方法后,如果點擊一個鏈接(a標簽),瀏覽器不會跳轉到新的 URL 去了。我們可以用 event.isDefaultPrevented() 來確定這個方法是否(在那個事件對象上)被調用過了
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發的任何前輩元素上的事件處理函數
event.which:獲取在鼠標單擊時,單擊的是鼠標的哪個鍵
event.which 將 event.keyCode 和 event.charCode 標準化了。event.which也將正常化的按鈕按下(mousedown 和 mouseupevents),左鍵報告1,中間鍵報告2,右鍵報告3
event.currentTarget : 在事件冒泡過程中的當前DOM元素
冒泡前的當前觸發事件的DOM對象, 等同于this.
this和event.target的區別:
js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標DOM元素;
.this和event.target都是dom對象
如果要使用jquey中的方法可以將他們轉換為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;">內層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>內層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里面執行阻止冒泡語句,也就不會冒泡到body,所以點擊span不會出現body元素被點擊。
$('#msg').html($('#msg').html()+ "<p>內層span元素被單擊</p>"); //在msg原有內容上追加
$('#msg').html("<p>內層span元素被單擊</p>"); //替換原來的內容
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com