2012-12-29 4 views
1
작동하지 않습니다

의 onclick에 대한 나의 기능은 다음과 같습니다아약스 기능은 동적 DIV

$(document).ready(function() { 
    $('.mydata').click(function() { 
     alert($(this).attr('data')); 
    }); 
});​ 

정적 요소는 작동합니다

<div><span id='moreinfo' class='mydata' data="25">Click Me!</span></div> 
<div><span id='moreinfo' class='mydata' data="250">Click Me Too!</span></div> 

그러나 같은 요소로 채워 사업부 쌍을 동적으로하지 않습니다 기능을 끕니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 당신이 이벤트 위임을 필요 http://jsfiddle.net/KubXr/

+2

** 동적 요소 **에 대한 위임 된 이벤트 처리기는 '$ (document) .on ('click ','.mydata ', function() {...}); – adeneo

+1

누군가가 감각적으로 그것을 복사 할 수 있다면 거룩한 쓰레기, live()는 더 이상 사용되지 않습니다. 정답은 -> [** FIDDLE **] (http://jsfiddle.net/adeneo/KubXr/2/)입니다. 대답으로! – adeneo

답변

4

:에

코드 예제는

$(function(){ 
    $(document).on('click', '.mydata', function() { 
    alert($(this).attr('data')); 
    }); 
}); 

이는 mydata 클래스가 포함되어있는 경우 이벤트를해야합니다 모든 요소, 기존 또는 미래, 동적으로 추가가, 트리거 것을 의미한다.

+0

+1, 마침내 !!! – adeneo

+0

@adeneo 내 것과 같고 당신이 내 것을 downvoted? –

+3

@AspiringAqib - 아니, 당신에게 똑같이 보일지 모르지만 사실은 완전히 다릅니다! – adeneo