jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法分析

本文實例講述了jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法。分享給大家供大家參考,具體如下:

10年積累的成都做網站、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計制作后付款的網站建設流程,更有循化免費網站建設讓你可以放心的選擇與我們合作。

最近遇到一個問題,即當用jquery動態(tài)添加元素后,發(fā)現(xiàn)給動態(tài)添加的元素卻無法觸發(fā)事件。后來在網上查閱了一些資料,發(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等。
//注意:如果此時調用的函數(shù)是外部定義好的函數(shù),那在調用的時候不要加(),不然會跳過點擊事件直接觸發(fā)函數(shù)

$("body").on("click", ".newBtn",aa );
function aa(){
    alert('這里是動態(tài)元素添加的事件');
}

ok,問題解決,繼續(xù)爬坑。

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery常見事件用法與技巧總結》、《jQuery常用插件及用法總結》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》及《jquery選擇器用法總結》

希望本文所述對大家jQuery程序設計有所幫助。

分享標題:jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法分析
文章鏈接:http://bm7419.com/article32/pcdgpc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、網站策劃域名注冊、動態(tài)網站網站改版、靜態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站托管運營