JQuery中DOM實(shí)現(xiàn)事件移除的方法
本文實(shí)例講述了JQuery中DOM實(shí)現(xiàn)事件移除的方法。分享給大家供大家參考。具體如下:
可以為同一個(gè)元素綁定多個(gè)事件,也可以為多個(gè)元素綁定同一個(gè)事件。假設(shè)網(wǎng)頁(yè)上有一個(gè)<button>元素,使用以下代碼為該元素綁定多個(gè)相同的事件。
$(function(){ $('#btn').bind("click", function(){ $('#test').append("<p>我的綁定函數(shù)1</p>"); }).bind("click", function(){ $('#test').append("<p>我的綁定函數(shù)2</p>"); }).bind("click", function(){ $('#test').append("<p>我的綁定函數(shù)3</p>"); }); })
1.移除按鈕元素上以前注冊(cè)的事件
先來(lái)看看下面代碼,點(diǎn)擊“刪除所有事件”按鈕,即可刪除上面btn的事件:
<script type="text/javascript"> $(function(){ $('#btn').bind("click", function(){ $('#test').append("<p>我的綁定函數(shù)1</p>"); }).bind("click", function(){ $('#test').append("<p>我的綁定函數(shù)2</p>"); }).bind("click", function(){ $('#test').append("<p>我的綁定函數(shù)3</p>"); }); $('#delAll').click(function(){ $('#btn').unbind("click"); }); }) </script>
<button id="btn">點(diǎn)擊我</button> <div id="test"></div> <button id="delAll">刪除所有事件</button>
來(lái)看看unbind()方法的語(yǔ)法結(jié)構(gòu):unbind([type] [, data]);
第1個(gè)參數(shù)是事件類型,第2個(gè)參數(shù)是將要移除的函數(shù),具體說(shuō)明如下:
如果沒(méi)有參數(shù),則刪除所有綁定的事件。
如果提供了事件類型作為參數(shù),則只刪除該類型的綁定事件。
如果把在綁定時(shí)傳遞的處理函數(shù)作為第2個(gè)參數(shù),則只有這個(gè)特定的事件處理函數(shù)會(huì)被刪除。
2.移除<button>元素的其中一個(gè)事件
首先需要為這些匿名處理函數(shù)指定一個(gè)變量。
<script type="text/javascript"> $(function(){ $('#btn').bind("click", myFun1 = function(){ $('#test').append("<p>我的綁定函數(shù)1</p>"); }).bind("click", myFun2 = function(){ $('#test').append("<p>我的綁定函數(shù)2</p>"); }).bind("click", myFun3 = function(){ $('#test').append("<p>我的綁定函數(shù)3</p>"); }); $('#delTwo').click(function(){ $('#btn').unbind("click",myFun2); }); }) </script>
<button id="btn">點(diǎn)擊我</button> <div id="test"></div> <button id="delTwo">刪除第二個(gè)事件</button>
另外,對(duì)于只需要觸發(fā)一次,隨后就要立即解除綁定的情況,JQuery提供了一種簡(jiǎn)寫方法——one()方法。one()方法可以為元素綁定處理函數(shù)。當(dāng)處理函數(shù)觸發(fā)一次后,立即被刪除。即在每個(gè)對(duì)象上,事件處理函數(shù)只會(huì)被執(zhí)行一次。
one()方法的結(jié)構(gòu)與bind()方法類似,使用方法也與bind()方法相同,其語(yǔ)法結(jié)構(gòu)如下:one (type, [data], fn);
<script type="text/javascript"> $(function(){ $('#btn').one("click", function(){ $('#test').append("<p>我的綁定函數(shù)1</p>"); }).one("click", function(){ $('#test').append("<p>我的綁定函數(shù)2</p>"); }).one("click", function(){ $('#test').append("<p>我的綁定函數(shù)3</p>"); }); }) </script>
<button id="btn">點(diǎn)擊我</button> <div id="test"></div>
使用one()方法為<button>元素綁定單擊事件后,只在用戶第1次單擊按鈕時(shí),處理函數(shù)才執(zhí)行,之后的單擊就不會(huì)再起作用。
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于jQuery實(shí)現(xiàn)表格的查看修改刪除
這篇文章主要為大家詳細(xì)介紹了基于jQuery實(shí)現(xiàn)表格的查看修改刪除,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08jQuery實(shí)現(xiàn)圖片信息的浮動(dòng)顯示實(shí)例代碼
圖片信息的浮動(dòng)顯示的效果,在網(wǎng)頁(yè)應(yīng)用中還是比較流行的,下面為大家詳細(xì)介紹下使用jquery是如何實(shí)現(xiàn)的,喜歡的朋友可以參考下2013-08-08jquery簡(jiǎn)單圖片切換顯示效果實(shí)現(xiàn)方法
這篇文章主要介紹了jquery簡(jiǎn)單圖片切換顯示效果實(shí)現(xiàn)方法,可以實(shí)現(xiàn)簡(jiǎn)單的圖片切換功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01jQuery擴(kuò)展_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了jQuery擴(kuò)展,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07兩個(gè)select之間option的互相添加操作(jquery實(shí)現(xiàn))
兩個(gè)select,將其中一個(gè)select選中的選項(xiàng)添加到另一個(gè)select中,或者點(diǎn)擊全部添加按鈕將所有的option都添加過(guò)去.2009-11-11Jquery和JS獲取ul中l(wèi)i標(biāo)簽的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Jquery和JS獲取ul中l(wèi)i標(biāo)簽的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06