本文實例講述了jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法。分享給大家供大家參考,具體如下:
10年積累的成都做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有循化免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
最近遇到一個問題,即當用jquery動態(tài)添加元素后,發(fā)現(xiàn)給動態(tài)添加的元素卻無法觸發(fā)事件。后來在網(wǎng)上查閱了一些資料,發(fā)現(xiàn)原來要這樣處理:
先上我出錯的代碼:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" rel="external nofollow" > <script src="http://cdn.bootcss.com/jquery/1.8.3/jquery.min.js"></script> <script> $(document).ready(function(){ //這里是動態(tài)添加元素 $(".add").click(function(){ var btn = $("<button class='newBtn btn btn-default'>新按鈕</button>"); $("body").append(btn); })<br><br>//這里是為添加的元素添加事件 $(".newBtn").click(function(){ alert("這里是新添加的元素觸發(fā)的事件"); }) }) </script> </head> <body> <button class="add btn btn-default">添加按鈕</button> </body> </html>
奉上我的解決方法
方法一:綁定live事件(live事件只在jquery1.9以下才支持,高版本不支持)。
$(".newBtn").live("click",function(){ ///jquery 1.9(不包括1.9)以下可以 alert('這里是動態(tài)元素添加的事件'); })
方法二:利用on()事件綁定($(ParentEle).on("click",".thisEle",function(){})
$("body").on("click", ".newBtn", function() { alert('這里是動態(tài)元素添加的事件'); }); //這里的ParentEle是 thisEle的父輩元素或者祖先元素,ParentEle可以是document,也可以是body等。 //注意:如果此時調(diào)用的函數(shù)是外部定義好的函數(shù),那在調(diào)用的時候不要加(),不然會跳過點擊事件直接觸發(fā)函數(shù)
$("body").on("click", ".newBtn",aa ); function aa(){ alert('這里是動態(tài)元素添加的事件'); }
ok,問題解決,繼續(xù)爬坑。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常見事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
分享標題:jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法分析
文章鏈接:http://aaarwkj.com/article32/pcdgpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站策劃、域名注冊、動態(tài)網(wǎng)站、網(wǎng)站改版、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)