亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery為動態添加元素添加事件

發布時間:2020-06-13 10:40:28 來源:網絡 閱讀:2681 作者:zongquanliu 欄目:web開發
參考:http://api.jquery.com/live/

以前我們定義事件,比如為元素定義單擊事件是這樣寫的:
代碼如下:

$('input').click(function () {
//處理代碼
});
 


代碼如下:

$('.clickme').bind('click', function() {
// Bound handler called.
});
 

但是這只能是對已經加載好的元素定義事件,那些后來添加插入的元素則需要另行綁定。即使你使用jquery的clone函數,它并不能將事件也復制(到目前為止我還不清楚它是為什么這樣定義,是沒法復制還是刻意這么處理,以防止出現某些異常,這還有待去分析一下jquery的源代碼)。
現在,使用live你可以輕松搞定,

$('.clickme').live('click', function() { // Live handler called. });這樣,你即使在后面動態插入的元素,也會被綁定事件,$('body').append('<div class="clickme">Another target</div>');

定義和用法

live() 方法為被選元素附加一個或多個事件處理程序,并規定當這些事件發生時運行的函數。

通過 live() 方法附加的事件處理程序適用于匹配選擇器的當前及未來的元素比如由腳本創建的新元素)。

 

問題:使用jQuery的live()方法綁定事件,有時會出現重復綁定的情況,如,當點擊一個按鈕時,此按鈕所綁定的事件會并執行n遍。

解決:使用die()方法,在live()方法綁定前,將此元素上的前面被綁定的事件統統解除,然后再通過live()方法綁定新的事件。

 

Js代碼
  1. //先通過die()方法解除,再通過live()綁定
  2. $("#selectAll").die().live("click",function(){
  3. //事件運行代碼
  4. });
//先通過die()方法解除,再通過live()綁定
$("#selectAll").die().live("click",function(){
		//事件運行代碼
	});

die()方法簡介:

 

Js代碼

die([type], [fn])<SPAN style="WHITE-SPACE: normal"> </SPAN>

die([type], [fn])

概述

jQuery 1.3新增。此方法與live正好完全相反。

如果不帶參數,則所有綁定的live事件都會被移除。

你可以解除用live注冊的自定義事件。

如果提供了type參數,那么會移除對應的live事件。

如果也指定了第二個參數function,則只移出指定的事件處理函數。

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

错那县| 济南市| 安乡县| 游戏| 瓦房店市| 玛多县| 舟山市| 正宁县| 什邡市| 金塔县| 平阳县| 郧西县| 台北县| 天津市| 梅河口市| 合水县| 布尔津县| 丰台区| 福建省| 博兴县| 桃江县| 石台县| 辉南县| 体育| 双桥区| 林芝县| 连州市| 梅州市| 高唐县| 元氏县| 攀枝花市| 鄂尔多斯市| 湘乡市| 长兴县| 申扎县| 邵阳市| 布尔津县| 双峰县| 宽甸| 奉化市| 唐河县|