테스트 사이트 - 개발 중인 베타 버전입니다

제이쿼리 기초질문입니다. -.-;;; 채택완료

타히티 6년 전 조회 3,441

</p>

<p>$(function(){</p>

<p> </p>

<p>$('body').append("<div class='modal'><div class='cad'></div></div>");</p>

<p>

    $('.popUp').on('click',function(){

        $('.modal').fadeIn('normal');

        $('.cad').html("<img src='popup/57.gif'><img  src='img/close.png'>");

    });</p>

<p>

    $('.cad').on('click',function(){

        $('.modal').fadeOut('normal');</p>

<p> </p>

<p>});</p>

<p>

 

위 소스가 있습니다.

다름아니라 .popUp 버튼을 클릭하면 그냥 모달레이어 하나 띄우는 것입니다.

위 소스를 보시면 아시다시피,

html 내부에다가 

를 삽입하지 않고, 

append 를 이용해서 body에 일단 먼저 넣었습니다.

 

모달레이어는 

답변 2개

채택된 답변
+20 포인트
아르키어드

$(document).on("click",".cad",function(){</p>

<p>    $('.modal').fadeOut('normal');</p>

<p>});

 

동적으로 생성된 구조(append appendTo 등..)는 document를 대상으로 이벤트를 걸어야합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

크~

 

감사드립니다. 

 

첨에 댓글 수정전에 알려주신데로

$(document).on('cad','click',function(){  이렇게 해봐도 안되어서 다시 질문 올리려던 참에,, 다시 보니,, 댓글을 수정해주셨군요..

 

그래서, 그렇게 해보니,,,정말 완벽히 잘 돌아갑니다..

 

아. 그리고, 동적으로 생성된 것은 document를 대상으로 해야하는 것이군요...

가물가물하게 그런 개념이 들어지긴 했는데,,,

댓글 덕분에 뚜렷해졌습니다. ^^

 

아주 깊은 감사드립니다. ^^

속이 시원해졌습니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

아르키어드
6년 전
저도 전에 저거때문에 애먹었엇거든요 ㅋ
타히티
6년 전
아르키어드님께서도 그러셨군요. ^^ .. 거듭 감사드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인