2012-04-03 2 views
0

.popup이라는 div를 복제 한 다음 클릭 이벤트를 활성화 한 다음 .popup을 닫도록 설계된 범위를 클릭하면 어떻게 할 수 있습니까?div를 복제 한 후 팝업을 닫을 수 없습니다. 묶다()? JQUERY

현재 클릭해도 아무런 변화가 없습니다. 페이지가 초기화 된 후에 div가 만들어 졌음을 알았습니다. 클릭 할 때 인식되도록 페이지에 바인딩하는 방법을 알아야합니다.

자바 스크립트 :

$('span#close').click(function() { 
      $('.popup').fadeOut(1000); 
     }); 

HTML :

<div class="popup"> 
    <span id="close">Close</span> 
    <!-- content --> 
</div> 
+1

팝업을 만드는 코드에서 닫기 함수를 추가하십시오. 예를 들어, 클릭 버튼을 열린 버튼에 바인딩 할 때 열린 함수를 닫기 전에 span # close click 함수를 추가하십시오. – faino

답변

0

귀하의 제안에 대해 모두 감사합니다. .on() 처리기, 나는이 작업을 할 수 없었습니다. 왜 그런지 모르겠으므로 @faino의 제안을 사용하기로 결정했습니다.

html에 포함 된 div를 만들고 해당 속성을 display:none으로 설정했으며이 div에는 span#close이 포함되어있어 팝업을 닫는 데 사용됩니다. 항목이 복제 될 때

, 그것은이 포함 사업부에 추가되었고, 나는 span#close에 클릭하면, 그것은 복제 된 항목을 제거하고 display:none

다시이 방법을 포함하는 div의 속성을 설정하십시오 span#close입니다 복제되지 않았으므로 이벤트가 다시 노출 될 필요가 없습니다.

답장을 보내 주셔서 감사합니다.

1

당신은 가능성이 jQuery를에 의해 노출 된 on() 이벤트를 찾고 - 당신이 사용 live()하지만이되지 않습니다 수 있으며, 매우 낙담했다.

그래서, 뭔가 같은 :

$('span#close').on('click', function(e) { }); 
1

시도 :


$("span#close").on("click", function(){ 
    $('.popup').fadeOut(1000); 
}); 
0

당신은 복제 동안 이벤트를 복사해야합니다. 좋은 기사 this을 참조하십시오. 또한 ID 속성은 문서에서 고유해야한다는 것을 기억하십시오. 따라서 요소를 복제 한 후에는 동일한 ID를 가진 중복 요소가 없는지 확인하십시오.

관련 문제