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

首頁 > 編程 > JavaScript > 正文

淺析jquery unbind()方法移除元素綁定的事件

2019-11-20 09:56:37
字體:
來源:轉載
供稿:網友

unbind()方法可以移除元素已綁定的事件,它的調用格式如下:

$(selector).unbind(event,fun)

其中參數event表示需要移除的事件名稱,多個事件名用空格隔開,fun參數為事件執行時調用的函數名稱。

語法 

unbind()函數主要有以下兩種形式的用法:

用法一:

jQueryObject.unbind( [ events [, handler ]] )

移除當前匹配元素的events事件綁定的事件處理函數handler。

用法二:

jQueryObject.unbind( eventObject )

為指定事件處理函數傳入的Event對象,用于移除對應的事件處理函數。

參數

參數 描述

events 可選/String類型一個或多個用空格分隔的事件類型和可選的命名空間,例如"click"、"focus click"、"keydown.myPlugin"。

handler 可選/Function類型指定的事件處理函數。

eventObject Object類型一個Event對象,用于移除傳入該對象的事件處理函數。

jQuery 1.4.3 新增支持參數handler可以為false。用于移除綁定事件時,handler參數為false值的事件處理函數。

如果省略參數handler,則移除匹配元素指定類型的事件上綁定的所有事件處理函數。

如果省略了所有參數,則表示移除匹配元素上為任何元素綁定的任何事件類型的任何事件處理函數。 

返回值

unbind()函數的返回值為jQuery類型,返回當前jQuery對象本身。

實際上,unbind()函數的參數全是篩選條件,只有匹配所有參數條件的事件處理函數都將被移除。參數越多,限定條件就越多,被移除的范圍就越小。 

示例&說明 

請參考下面這段初始HTML代碼:

 

<input id="btn1" type="button" value="點擊1" /> <input id="btn2" type="button" value="點擊2" /> <a id="a1" href="#">CodePlayer</a> 

首先,我們為上述button和<a>元素綁定事件,然后使用unbind()函數解除事件綁定,相應的代碼如下:

function btnClick1(){   alert( this.value + "-1" ); }  function btnClick2(){   alert( this.value + "-2" ); }  var $buttons = $(":button");  // 為所有button元素的click事件綁定事件處理函數btnClick1 $buttons.bind( "click", btnClick1 );  // 為所有button元素的click事件綁定事件處理函數btnClick2 $buttons.bind( "click", btnClick2 );  // 為所有a元素的click、mouseover、mouseleave事件綁定事件處理函數 $("a").bind( "click mouseover mouseleave", function(event){   if( event.type == "click" ){     alert("點擊事件");   }else if( event.type == "mouseover" ){     $(this).css("color", "red");   }else{     $(this).css("color", "blue");      } });   // 移除為所有button元素的click事件綁定的事件處理函數btnClick2 // 點擊按鈕,只執行btnClick1 $buttons.unbind("click", btnClick2);   // 移除為所有button元素的click事件綁定的所有事件處理函數(btnClick1和btnClick2) // 點擊按鈕,不會執行任何事件處理函數 // $buttons.unbind("click");   // 只移除為btn1元素的click事件綁定的所有事件處理函數  // btn2元素的click事件仍然有效 // $("#btn1").unbind("click");  // 移除為所有a元素的任何事件綁定的所有處理函數 // 點擊鏈接,或用鼠標在鏈接上移入、移出,都不會觸發執行任何事件處理函數 // $("a").unbind( ); 
unbind()函數還可以根據傳入的事件對象來移除函數。以下jQuery代碼只允許第一次點擊按鈕【點擊1】時彈出提示框,之后立即移除該點擊事件。
var $btn1 = $("#btn1"); $btn1.bind("click", function(event){   alert("只執行一次!");   $(this).unbind( event ); // 移除當前事件處理函數  }); 此外,unbind()函數還可以只移除指定命名空間的事件綁定。  var $buttons = $(":button");  // 為所有button元素的click事件綁定事件處理函數 $buttons.bind( "click.foo.bar", function btnClick1(){   alert( "click-1" ); } );  // 為所有button元素的click事件綁定事件處理函數 $buttons.bind( "click.test.bar", function btnClick1(){   alert( "click-2" ); } );   // 移除包含命名空間foo的click事件綁定的事件處理函數 $buttons.unbind( "click.foo" ); // 移除click-1  //移除包含命名空間bar的click事件綁定的事件處理函數 // $buttons.unbind( "click.bar" ); // 移除click-1和click-2  //移除包含命名空間test的click事件綁定的事件處理函數 // $buttons.unbind( "click.test" ); // 移除click-2  // 移除所有button元素的click事件綁定的所有事件處理函數 // $buttons.unbind("click"); // 移除click-1和click-2 

以上這篇淺析jquery unbind()方法移除元素綁定的事件就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌都县| 封开县| 万州区| 友谊县| 云南省| 秭归县| 凤阳县| 龙胜| 元朗区| 中宁县| 右玉县| 九江县| 临武县| 双峰县| 祁阳县| 定襄县| 娄底市| 香河县| 玛多县| 沅陵县| 江孜县| 漠河县| 丰顺县| 尼木县| 高淳县| 通许县| 象州县| 宁南县| 吴江市| 清水河县| 邢台市| 宁蒗| 海丰县| 潞城市| 馆陶县| 防城港市| 贵南县| 皋兰县| 苏尼特右旗| 南靖县| 玉溪市|