溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery事件對象的屬性和方法詳解

發(fā)布時間:2020-10-14 14:21:11 來源:腳本之家 閱讀:174 作者:Lawliet__zmz 欄目:web開發(fā)

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>

jQuery事件對象的屬性和方法詳解

點擊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)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI