2014-09-26 106 views
0

您好我使用JQuery Ajax在點擊DIV內動態注入一段HTML代碼。注入後,我無法從這個注入的HTML中選擇元素。我需要爲這些元素編寫點擊事件來更改主頁面上的一些數據。如果我寫jQuery內聯,我無法訪問主頁上的元素。誰能幫忙?訪問由Jquery Ajax返回的元素

我的jQuery的AJAX調用

$(".template-2-column-std a").not('.emptyMessage').click(function() {   
    var parentidVal = $(this).data('parentid') 
    $.ajax({ 
     url: '/Navigation/GetBreadCrumbList', 
     contentType: 'application/html; charset=utf-8', 
     data: { id: parentidVal }, 
     type: 'GET', 
     dataType: 'html' 
    }) 
    .success(function (result) { 
     $('#breadcrumb').html(result); 
    }) 
    .error(function (xhr, status) { 
     alert(status); 
    }) 
}); 

回答

0

您需要使用事件代表團事件偵聽器附加到文件加載時未對DOM元素。試試這個:

$('#breadcrumb').on('click', <selector>, function() {...}); 

我假設$('#breadcrumb')DOM加載時存在。然後你只是用來過濾它的後代。

+0

感謝它的工作 – ziaprog 2014-09-29 10:50:34

+0

它也可以工作,如果我把代碼放入成功函數 – ziaprog 2015-05-29 13:16:54

0

嘗試的

$('body').on('click','#myDiv', function(){ 


}); 

代替

$("#myDiv").click ... 

這是訪問動態生成的元素的方式。

+0

感謝您的回覆 – ziaprog 2014-09-29 10:51:19

0

你應該綁定您事件succes功能,如:

.success(function (result) { 

    $('#breadcrumb').html(result); 
    bindEventListener(); 
}) 
function bindEventListener(){ 
    $("#newAddedElement").on('click', function(){ 
    do somethins... 
    }) 
} 
+0

感謝它的工作 – ziaprog 2014-09-29 10:50:03