jQuery在元素建立之前繫結事件
jQuery可以實現在元素建立之前就監聽該元素,這對於動態建立元素後繫結事件非常有用
更多精彩
- 更多技術部落格,請移步 asing1elife’s blog
問題
- 對於存在動態新增的元素,則需要動態繫結事件,而為了不導致因為給新元素繫結事件,導致舊元素出現重複繫結的情況。
- 一般的解決辦法是先解綁再繫結
function showTip() {
alert(1);
);
// 第一次繫結
$("#element").find("li").click(showTip);
// 由於新增了相同元素,則需要為舊元素解綁事件
$ ("element").find("li").unbind("click");
// 再重新為當前所有元素繫結
$("#element").find("li").click(showTip);
解決
- jQuery 擁有先進的事件處理機制,因為 jQuery.on() 方法可以傳遞一個元素的子元素選擇器作為引數,則可以監聽目前還不存在的事件
$("#element").on("click", "li", function () {
alert(1);
});
相關推薦
jQuery在元素建立之前繫結事件
jQuery可以實現在元素建立之前就監聽該元素,這對於動態建立元素後繫結事件非常有用 更多精彩 更多技術部落格,請移步 asing1elife’s blog 問題 對於存在動態新增的元素,則需要動態繫結事件,而為了不導致因為給新元素繫結
jQuery(八)繫結事件
on()方法 說明:方法在被選元素及子元素上新增一個或多個事件處理程式。 語法:$(selector).on(event,childSelector,data,function) event:必需。規定要從被選元素移除的一個或多個事件或名稱空間。由空格分隔多個事
39. jQuery-通過對映方式繫結事件
1. 效果圖 2.html程式碼 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>39 jQuery-通過對映方式繫結事件</
38. jQuery-使用bind()方法繫結事件
語法格式: bind(type, [data], fn) 其中引數type為一個或多個型別的字串,如“click”或“change”,也可以自定義型別;可以被引數type呼叫的型別包括blur、focus、load、resize、scroll、unload、click、 dbl
用jQuery繫結事件到動態建立的元素上
jQuery最常用的一個功能就是對DOM的操作,與之相關的比如對事件的繫結和Ajax動態內容載入。當我們繫結事件到Ajax load回來的內容上或其他動態建立的元素上時會發現事件沒響應,和你預想的結果不同,就像沒這會事兒一樣。這是前端開發 非常蛋疼的問題。jQuery在1.
jQuery動態生成的元素如何繫結事件
這段時間在寫程式碼的時候遇到一個問題,通過append()新增的節點,點選事件不起作用。當時我百思不得其解,各種找錯都沒找到錯誤的原因。後來才發現是動態生成節點的問題,還是自己沒有經驗啊。 下面來
jQuery動態新增的元素繫結事件
今天在做專案是時候發現動態新增的元素不能繫結事件,由於本人js和jquery技術有限,所以也不知道原因,一查才知道,動態新增的元素繫結事件就會失效,所以修改了一下。 jquery中繫結事件一般使用bind,或者click,但是這隻能是對已經載入好的元素定義事件,那些後來新增插入
41. jQuery-使用unbind()方法移除元素繫結事件
1.效果圖 2.html程式碼 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>41. jQuery-使用unbind()方法移出元
關於jquery 的繫結事件on 如何繫結動態生成的dom元素
今天遇到個問題,在table裡面動態更新資料,然後每一行會繫結相應的點選事件 我原本是想用 可作用於未來元素的on方法,但是實際上還是沒有起作用,程式碼如下: $(".form-table tbod
jquery在ajax新新增的元素後繫結事件click
使用YII在做一個點選小圖,可以在彈出視窗中顯示大圖的功能的時候,發現,GridView首頁面的列表項按點選時一切正常,但按下了下一頁後, 再點選小圖,就不起作用了。原來,這是GridView使用了ajax分頁,分頁後的元素是新增加的,所以不會繫結事件,要改變這樣的狀況,可
jquery html 動態新增元素繫結事件
由於實際的需要,有時需要往網頁中動態的插入HTML內容,並在插入的節點中繫結事件處理函式。我們知道,用Javascript向HTML文件中 插入內容,有兩種方法, 一種是在寫HTML程式碼寫入JS,然後插入到文件中; 另外一種是通過ajax的方式,從伺服器獲取資料,然
從零開始學 Web 之 jQuery(五)操作元素其他屬性,為元素繫結事件
一、操作元素的寬和高 1、方法一 元素.css("width"); 元素.css("height"); 最後得到的是字串型別的,比如 200px。 如果我們在設定為原來寬高2倍的時候,就要先把獲取的寬高轉換成數字型別,再乘以2,這樣操作比較麻煩,有沒有簡單的方法呢? 2、方法二 元素.width(屬性
jQuery-為動態新增的元素繫結事件(以及不重複新增新的內容)
在使用jQuery的方式為元素繫結事件時,我經常使用bind或者click,但這隻能為頁面已經載入好的元素繫結事件。像需要用ajax的方式請求遠端資料來動態新增頁面元素時,顯然以上幾種繫結事件的方式是無效的 $(selector).bind(event,d
處理jQuery append加入的元素 繫結事件無效的方法
問題是:通過jQuery append(或者before、after,一樣)新新增進網頁的元素,常用的事件不能觸發,比如:append了id 為 abc 的元素,那麼 $(#abc).click(function(){})是沒有效果的。 1. 網上說要用live()函式,親
利用jquery給動態載入的元素繫結事件
工作中經常會遇見利用ajax載入dom元素,這樣就不能給動態載入的元素繫結時間 此時可以利用jquery的on方法解決(老版本使用live方法) $(document).on("click",".edit-btn",function(){ aler
jQuery給一個元素繫結事件前,一次點選會多次觸發的問題所在
如果在給一個元素繫結事件後,再次繫結事件就會出現多次繫結的情況,此時就會出現多次觸發,解決方法我採用的是,在繫結事件前進行解綁,bind繫結的時間用ubbind解綁,其他繫結方法用對應的解綁方法解綁。
用jquery給元素動態繫結事件及樣式
網頁輸出的時候,可以用jquery給各種元素繫結事件,或設定樣式。之所以這樣做,好處是節省程式碼,尤其適合元素很多,並且元素的事件對應的函式雷同的情況。看看以下程式碼: <div id="divUserList"> <span><a href
jquery html動態新增的元素繫結事件
在實際開發中會遇到要給動態生成的html元素繫結觸發事件的情況: <div id="testdiv"> <ul></ul> </div> 假設我們要給ul動態新增的<li>繫結click事件形成如下結果 &
jquery查詢元素,繫結事件,DOM操作
//remove 會移除元素和元素關聯的事件//detach 只會移除元素$("#btn").click(function(){alert("123123");}); 遍歷節點$("strong").each(function(i,e){ //i 下標 從0開始 //e 元素console.log(i,
jquery繫結事件的方法on中獲取當前所在元素及子元素的方式
有時我們要使用jquery中的繫結事件的方法on,來獲取當前所在元素,以及當前所在元素的子元素,可以參考: $(document).on('mouseover', '#item', functio