国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JQuery中DOM實現事件移除的方法

2019-11-20 12:16:12
字體:
來源:轉載
供稿:網友

本文實例講述了JQuery中DOM實現事件移除的方法。分享給大家供大家參考。具體如下:

可以為同一個元素綁定多個事件,也可以為多個元素綁定同一個事件。假設網頁上有一個<button>元素,使用以下代碼為該元素綁定多個相同的事件。

$(function(){ $('#btn').bind("click", function(){     $('#test').append("<p>我的綁定函數1</p>");   }).bind("click", function(){     $('#test').append("<p>我的綁定函數2</p>");   }).bind("click", function(){     $('#test').append("<p>我的綁定函數3</p>");  });})

1.移除按鈕元素上以前注冊的事件

先來看看下面代碼,點擊“刪除所有事件”按鈕,即可刪除上面btn的事件:

<script type="text/javascript"> $(function(){  $('#btn').bind("click", function(){      $('#test').append("<p>我的綁定函數1</p>");    }).bind("click", function(){      $('#test').append("<p>我的綁定函數2</p>");    }).bind("click", function(){      $('#test').append("<p>我的綁定函數3</p>");   });  $('#delAll').click(function(){    $('#btn').unbind("click");  }); })</script>
<button id="btn">點擊我</button><div id="test"></div><button id="delAll">刪除所有事件</button>

來看看unbind()方法的語法結構:unbind([type] [, data]);

第1個參數是事件類型,第2個參數是將要移除的函數,具體說明如下:

如果沒有參數,則刪除所有綁定的事件。
如果提供了事件類型作為參數,則只刪除該類型的綁定事件。
如果把在綁定時傳遞的處理函數作為第2個參數,則只有這個特定的事件處理函數會被刪除。

2.移除<button>元素的其中一個事件

首先需要為這些匿名處理函數指定一個變量。

<script type="text/javascript"> $(function(){  $('#btn').bind("click", myFun1 = function(){      $('#test').append("<p>我的綁定函數1</p>");    }).bind("click", myFun2 = function(){      $('#test').append("<p>我的綁定函數2</p>");    }).bind("click", myFun3 = function(){      $('#test').append("<p>我的綁定函數3</p>");   });  $('#delTwo').click(function(){    $('#btn').unbind("click",myFun2);  }); })</script>
<button id="btn">點擊我</button><div id="test"></div><button id="delTwo">刪除第二個事件</button>

另外,對于只需要觸發一次,隨后就要立即解除綁定的情況,JQuery提供了一種簡寫方法――one()方法。one()方法可以為元素綁定處理函數。當處理函數觸發一次后,立即被刪除。即在每個對象上,事件處理函數只會被執行一次。

one()方法的結構與bind()方法類似,使用方法也與bind()方法相同,其語法結構如下:one (type, [data], fn);

<script type="text/javascript"> $(function(){  $('#btn').one("click", function(){      $('#test').append("<p>我的綁定函數1</p>");    }).one("click", function(){      $('#test').append("<p>我的綁定函數2</p>");    }).one("click", function(){      $('#test').append("<p>我的綁定函數3</p>");   }); })</script>
<button id="btn">點擊我</button><div id="test"></div>

使用one()方法為<button>元素綁定單擊事件后,只在用戶第1次單擊按鈕時,處理函數才執行,之后的單擊就不會再起作用。

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台中县| 东源县| 巴林左旗| 民权县| 合肥市| 富锦市| 东乌珠穆沁旗| 鲜城| 庆城县| 镇安县| 沙洋县| 平泉县| 桃江县| 同心县| 松原市| 茌平县| 自贡市| 寻甸| 江阴市| 高密市| 岳阳县| 丰原市| 德保县| 日照市| 福鼎市| 南宫市| 印江| 阿拉善右旗| 赣榆县| 甘孜| 开远市| 江城| 乌兰浩特市| 宣恩县| 宣汉县| 伊宁县| 五峰| 高碑店市| 琼中| 三原县| 凤凰县|