2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

jquery事件重復綁定的幾種解決方法

 三十的狼 2019-08-03

  防止事件重復綁定共有4種方法:

  1. bind()、unbind()方法
  2. live()、die()方法
  3. off()、on()方法
  4. one()方法

  一、bind()、unbind()方法

  bind();綁定事件

  為被選元素添加一個或多個事件處理程序,并規(guī)定事件發(fā)生時運行的函數(shù)。

  從某種角度上講,bind("click",function(){})與click(function(){})是等價的。

  unbind();移除通過bind()方法添加的事件

  不僅僅對于bind()方法有效,它對于click()方法同樣有效。

  $("#btn1").unbind("click").bind("click",function(){
         alert("我是btn1!");
  });
  $("#btn1").unbind().click(function(){
          alert("我是btn1!");
   });

  二、live()、die()方法

  live();

  jQuery1.3增加了一個live()方法,給所有當前以及將來會匹配的元素綁定一個事件處理函數(shù)。

  支持:click,dblclick, mousedown, mouseup等。

  不支持 :blur, focus, mouseenter, mouseleave, change, submit。

  live()一次只能綁定一個事件。

    jquery利用了事件的冒泡機制,直接把事件綁定在了document上,然后通過event.target找出事件的來源。

  要移除用live綁定的事件,請用die()方法

  die();

  在jquery里,使用live()來綁定事件,若想移除該事件,要使用die()方法。

  $("#btn1").die("click").live("click",function() {
        alert("我是btn1!");
  });

  三、off()、on()方法

  on();綁定事件。

  從jQuery 1.7開始,on()函數(shù)提供了綁定事件處理程序所需的所有功能,用于統(tǒng)一取代以前的bind()、 delegate()、 live()等事件函數(shù)。

  即使是執(zhí)行on()函數(shù)之后新添加的元素,只要它符合條件,綁定的事件處理函數(shù)也對其有效。

  該函數(shù)可以為同一元素、同一事件類型綁定多個事件處理函數(shù)。觸發(fā)事件時,jQuery會按照綁定的先后順序依次執(zhí)行綁定的事件處理函數(shù)。

  要刪除通過on()綁定的事件,請使用off()函數(shù)。

  如果要附加一個事件,只執(zhí)行一次,然后刪除自己,請使用one()函數(shù)。

  off();解除綁定事件

  off()函數(shù)用于移除元素上綁定的一個或多個事件的事件處理函數(shù)。

  off()函數(shù)主要用于解除由on()函數(shù)綁定的事件處理函數(shù)。

 

  on();函數(shù)和off();函數(shù)的返回值都為jQuery類型,返回當前jQuery對象本身。

  $("#btn1").off("click").on("click",function(){
        alert("我是btn1!");
  });

   四、one();方法

  綁定的事件處理函數(shù)只會執(zhí)行一次。

  $("#btn1").one("click",function(){  
        alert("我只執(zhí)行一次!");
  }); 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多