2013-10-19 55 views
0

我正在做一個填充我的html頁面的ajax請求。我在ajax響應頁面上有一個錨標記。我想通過它的id訪問html錨標籤並顯示一個alery。閱讀AJAX返回的數據

我的代碼是:

<div id="response"> 
</div> 

$.post("destination.php",function(data){ 
$("#response").html(data); 
}); 

阿賈克斯查詢後,頁面將是:

<div id="response"> 
<a href="some_link.php" id="link_test">Click Me</a> 
</div> 

,現在我想使用jQuery訪問此數據:

$("#link_test").on('click',function(){ 
alert("You Clicked Me"); 
}); 

但我無法在我的頁面上執行此操作,因爲它是ajax請求,並且在ajax請求之後不會刷新ID。所以瀏覽器不能識別這個id,這個代碼確實沒用。

請幫我一把。

回答

0

這應該爲你工作:

$('#response').on('click', "#link_test", function(){ 
    alert("You Clicked Me"); 
}); 
1

事件委託:

$("#reponse").on("click", "#link_test", function(){ 
1

您可以使用事件委託這意味着你必須將事件偵聽器附加到這些按鈕的共同祖先。

這是一個很好的選擇,當許多元素必須觸發相同的例程,甚至更多,如果他們中的一些可能通過AJAX添加到未來的DOM(這使得頁面不得不連接到許多事件處理程序)

代表團語法

// Event delegation 
$("#firstCommonAncestorThatStillInThePage").on("click", 'a', function() { 
    if($(this).is('#link_test')){ 
     alert($(this).text()); 
    } 
});