2013-10-19 3 views
0

내 html 페이지에 채워지는 아약스 요청을하고 있습니다. 아약스 응답 페이지에 앵커 태그가 있습니다. id를 통해 html 앵커 태그에 액세스하고 alery를 표시하려고했습니다.AJAX 반환 된 데이터 읽기

내 코드는 다음과 같습니다

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

을 그리고 지금은 jQuery를 사용하여이 데이터에 액세스하려면 :

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

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

는 아약스 쿼리 후 페이지가 될 것

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

을하지만, 내 페이지에서이 작업을 수행 할 수 없다. 왜냐하면이 작업은 ajax 요청이고 id는 ajax 요청 후에 새로 고쳐지지 않기 때문이다. 따라서 브라우저는 ID를 인식하지 못하고 코드는 쓸모가 없습니다.

도와주세요.

답변

0

이 당신을 위해 작동합니다 :

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

이벤트 위임 :

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

당신은 이벤트 위임을 사용할 수 있습니다 이것은 당신이 그 버튼의 첫 번째 공통 조상에 이벤트 리스너를 첨부해야 의미한다.

많은 요소가 AJAX를 통해 futur에서 DOM에 추가 될 수 있다면 더 많은 요소가 동일한 루틴을 트리거해야 할 때 좋은 선택입니다 (이 때문에 페이지에 많은 이벤트 핸들러가 연결되지 않도록합니다)

위임 구문

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