最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery事件對象總結(jié)

 更新時間:2016年10月17日 15:56:07   作者:光明大神棍的博客  
事件是腳本編程的靈魂,本篇來介紹jQuery中的事件處理及事件對象.這里整理了詳細的代碼,有需要的小伙伴可以參考下。

 本人對jquery的event不懂,搜索了很多關(guān)于jquery event事件介紹,下面我來記錄一下,有需要了解jquery event事件用法的朋友可參考。希望此文章對各位有所幫助。

學習要點:

事件對象 冒泡和阻止默認行為

一、事件對象

在JS中,我們已經(jīng)詳細討論了JS的事件對象,這里就挑幾個常用的探討

<code class=" hljs xml"></code><div><code class=" hljs xml">
  <input type="text">
</code></div>

1.event.type 屬性獲取觸發(fā)事件名

<code class=" hljs javascript">$("div").click(function (e) {
  console.log(e.type);    // click
});</code>

2.event.target獲取綁定DOM的元素

<code class=" hljs javascript">$("div").click(function (e) {
  console.log(e.target);   // div
});</code>

3.event.data 獲取額外數(shù)據(jù),可以是數(shù)字、字符串、數(shù)組、對象

<code class=" hljs javascript">$("div").bind("click", {"name" : "zhang", "age" : 20}, function (e) {
  for(var i in e.data) {
    console.log(i + " = " + e.data[i]);
  }
})</code>

4.event.relatedTarget 獲取移入移出目標點離開或進入的那個 DOM 元素

<code class=" hljs javascript">$("div").mouseover(function (e) {
  console.log(e.relatedTarget);    // body
});</code>

5.event.currentTarget 獲取綁定的那個 DOM 元素,相當于 this,區(qū)別與 event.target

<code class=" hljs xml"><ul>
  <li>item1</li>
  <li>item2</li>
  <li>item3</li>
</ul></code>
<code class=" hljs javascript">// 事件委托
$("ul").click(function (e) {
  console.log(e.target);   // li
});
$("ul").click(function (e) {
  console.log(e.currentTarget);    // ul
});</code>

PS : target表示觸發(fā)事件的DOM,currentTarget表示綁定事件的元素 6.event.result 表示獲取上次事件的值

<code class=" hljs lua"></code><div><code class=" hljs lua">
  <input type="text">
$("div").click(function () {
  return "123";
});
$("div").click(function (e) {
  console.log(e.result);   // 123
});</code></div>

7.event.timeStamp 獲取當前時間戳

<code class=" hljs javascript">$("div").click(function (e) {
  console.log(e.timeStamp);
});</code>

8.event.which 獲取鼠標的左中右鍵

<code class=" hljs javascript">$("div").mousedown(function (e) {
  var key = '';
  switch (e.which) {
    case 1:
      key = "左鍵";
      break;
    case 2:
      key = "中鍵";
      break;
    case 3:
      key = "右鍵";
      break;
  }
  console.log(key);
});</code>

同時event.which也可以獲取鍵盤上的鍵

<code class=" hljs javascript">$("input").keyup(function (e) {
  console.log(e.which);
});</code>

9.event.ctrlKey 判斷是否按下了ctrl鍵

<code class=" hljs javascript">$("input").keyup(function (e) {
  console.log(e.ctrlKey);   // 返回布爾值
})</code>

10.獲取鼠標當前的位置

<code class=" hljs avrasm">$(document).click(function (e) {
  console.log("screenX: " + e.screenX);
  console.log("pageX: " + e.pageX);
  console.log("clientX: " + e.clientX);
});</code>

二.冒泡和默認行為 1.事件冒泡和阻止冒泡 先來看看一個冒泡的例子

<code class=" hljs php"></code><div><code class=" hljs php">
  <input type="button" value="按鈕">
$("input").click(function () {
  console.log("按鈕被觸發(fā)");
});
$("div").click(function () {
  console.log("div被觸發(fā)");
});
$(document).click(function () {
  console.log("document被觸發(fā)");
});
// 當單擊按鈕時,三個事件都被觸發(fā)
// 當單擊div時,div和document被觸發(fā)
// 當單擊document時,也僅有document事件被觸發(fā)</code></div>

現(xiàn)在我們阻止冒泡,看看結(jié)果

<code class=" hljs javascript">$("input").click(function (e) {
  console.log("按鈕被觸發(fā)");
  e.stopPropagation();
});
$("div").click(function (e) {
  console.log("div被觸發(fā)");
  e.stopPropagation();
});
$(document).click(function () {
  console.log("document被觸發(fā)");
});</code>

無論你怎樣單擊按鈕和div,它也只能觸發(fā)自己的時間,因為冒泡被阻止了

2.阻止默認行為

<code class=" hljs lua"></code><div><code class=" hljs lua"> 
$("a").click(function (e) {
  e.preventDefault();
});</code></div>

3.同時阻止默認行為和冒泡

<code class=" hljs javascript">$("a").click(function (e) {
  console.log("a");
  e.stopPropagation();
  e.preventDefault();
});
$("div").click(function () {
  console.log("div");
});</code>

或者用 return false;

<code class=" hljs javascript">$("a").click(function (e) {
  console.log("a");
  return false;
});
$("div").click(function () {
  console.log("div");
});</code>

3.阻止事件冒泡和默認行為的一些方法

判斷是否取消了默認行為

<code class=" hljs javascript">$("a").click(function (e) {
  e.preventDefault();
  console.log(e.isDefaultPrevented());  // true
})</code>

取消冒泡后取消后續(xù)的事件處理函數(shù)

<code class=" hljs javascript">$("a").click(function (e) {
  console.log("a");
  // e.preventDefault();   // 三個都觸發(fā)
  // e.stopPropagation(); // 觸發(fā)前兩個
  // e.stopImmediatePropagation();  // 只觸發(fā)第一個
});
$("a").click(function () {
  console.log("i am a");
}); 
$(document).click(function () {
  console.log("i am document");
})</code>

判斷是否調(diào)用了 stopPropagation()方法

<code class=" hljs javascript">$("div").click(function (e) {
  e.stopPropagation();
  console.log(e.isPropagationStopped()); // true
})</code>
判斷是否執(zhí)行了 stopImmediatePropagation()方法
<code class=" hljs javascript">$('div').click(function (e) {
  e.stopImmediatePropagation();
  console.log(e.isImmediatePropagationStopped());   // true
});</code>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • jQuery事件綁定用法詳解

    jQuery事件綁定用法詳解

    這篇文章主要介紹了jQuery事件綁定用法,結(jié)合多個實例較為詳細的分析了常見的jQuery事件綁定實現(xiàn)技巧與使用方法,需要的朋友可以參考下
    2016-09-09
  • Jquery獲取radio選中值實例總結(jié)

    Jquery獲取radio選中值實例總結(jié)

    在本篇文章里小編給大家分享了關(guān)于Jquery獲取radio選中值實例總結(jié)內(nèi)容,有興趣的朋友們可以學習下。
    2019-01-01
  • jquery專業(yè)的導航菜單特效代碼分享

    jquery專業(yè)的導航菜單特效代碼分享

    這篇文章主要介紹了jquery專業(yè)的下拉菜單特效,一個精致的導航菜單會吸引用戶的注意力,讓用戶產(chǎn)生瀏覽網(wǎng)站的興趣至關(guān)重要,現(xiàn)在小編推薦給大家一款特別棒的導航菜單,感興趣的小伙伴可以參考下。
    2015-08-08
  • jquery代碼規(guī)范讓代碼越來越好看

    jquery代碼規(guī)范讓代碼越來越好看

    本文主要介紹了jquery的代碼規(guī)范。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • jquery實現(xiàn)簡單Tab切換菜單效果

    jquery實現(xiàn)簡單Tab切換菜單效果

    這篇文章主要介紹了jquery實現(xiàn)簡單Tab切換菜單效果的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • jquery+css實現(xiàn)移動端元素拖動排序

    jquery+css實現(xiàn)移動端元素拖動排序

    這篇文章主要為大家詳細介紹了jquery+css實現(xiàn)移動端元素拖動排序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Jquery 類網(wǎng)頁微信二維碼圖塊滾動效果具體實現(xiàn)

    Jquery 類網(wǎng)頁微信二維碼圖塊滾動效果具體實現(xiàn)

    網(wǎng)頁微信二維碼圖塊滾動效果想必大家都有見到過吧,在接下來的文章中將為大家詳細介紹下使用Jquery是如何實現(xiàn),感興趣的朋友可以參考下
    2013-10-10
  • jquery+php后臺實現(xiàn)省市區(qū)聯(lián)動功能示例

    jquery+php后臺實現(xiàn)省市區(qū)聯(lián)動功能示例

    這篇文章主要介紹了jquery+php后臺實現(xiàn)省市區(qū)聯(lián)動功能,涉及jQuery事件響應(yīng)及頁面元素屬性動態(tài)變換,以及ajax后臺動態(tài)交互相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • jQuery動畫效果-slideUp slideDown上下滑動示例代碼

    jQuery動畫效果-slideUp slideDown上下滑動示例代碼

    jQuery動畫上下滑動效果在網(wǎng)頁中的應(yīng)用還是比較廣泛的,其實很簡單通過slideUp slideDown方法便可輕松實現(xiàn),具體如下,喜歡的朋友可以參考下,希望對大家學習jquery有所幫助
    2013-08-08
  • firefox瀏覽器用jquery.uploadify插件上傳時報HTTP 302錯誤

    firefox瀏覽器用jquery.uploadify插件上傳時報HTTP 302錯誤

    這篇文章主要介紹了firefox瀏覽器用jquery.uploadify插件上傳時報HTTP 302錯誤,分析了下,原來是利用flash進行post上傳時沒有包含原來的session信息,而是重新創(chuàng)建了一個session,知道原因了,我們來看看如何解決吧。
    2015-03-03

最新評論

南漳县| 龙游县| 万全县| 和田市| 泸州市| 夏邑县| 永年县| 义马市| 静海县| 罗江县| 灵台县| 涞水县| 井冈山市| 托里县| 长海县| 迁安市| 东乌珠穆沁旗| 梓潼县| 孝感市| 泗阳县| 宝清县| 盘锦市| 渭源县| 浏阳市| 孝昌县| 军事| 长治市| 松滋市| 蓬溪县| 山东省| 淮北市| 江城| 丰都县| 芦山县| 玉山县| 宝清县| 东方市| 古交市| 长岛县| 墨脱县| 吉林省|