首頁 > web前端 > js教程 > 實例詳解jQuery事件物件的屬性

實例詳解jQuery事件物件的屬性

小云云
發布: 2017-12-29 09:56:04
原創
1342 人瀏覽過

本文主要為大家詳細介紹了jQuery事件物件的屬性和方法,具有一定的參考價值,有興趣的小夥伴們可以參考一下,希望能幫助大家。

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 p,
  .right p {
    width: 500px;
    height: 100px;
    padding: 5px;
    margin: 5px;
    float: left;
    border: 1px solid #ccc;
  }
  
  .left p {
    background: #bbffaa;
  }
  
  .right p {
    background: yellow;
  }
  </style>
  <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
  <h3>事件对象的属性与方法</h3>
  <p class="left">
    <p id="content">
      外层p元素
      <br />
      <span style="background: silver;">内层span元素</span>
      <br /> 外层p元素
    </p>
    <br />
    <p id="msg"></p>
  </p>
  <script type="text/javascript">
  //为 <span> 元素绑定 click 事件 
  $("span").click(function() {
    $("#msg").html($("#msg").html() + "<p>内层span元素被单击</p>");
  });
  //为 Id 为 content 的 <p> 元素绑定 click 事件 
  $("#content").click(function(event) {
    $("#msg").html($("#msg").html() + "<p>外层p元素被单击</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()+ "

內層span元素被點選

"); //在msg原有內容上追加
$('#msg').html("

內層span元素被點選

"); //取代原來的內容

相關推薦:

Js操作非IE事件物件屬性,方法的詳細介紹

JavaScript dom事件物件和IE事件物件實例詳解

JavaScript 事件物件的實作_javascript技巧

#

以上是實例詳解jQuery事件物件的屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板