그냥저냥그냥
396
2019-08-30 10:40:18 작성 2019-08-30 10:42:07 수정됨
1
224

제이쿼리 동적 태그 이벤트 버블링 관련 질문이 있어요.


이벤트 버블링 제한할때 e.stopPropagation() 를 사용한다고 알아봤는데요.

일반적인 $().click(e) 함수에는 적용되는 것 같은데

$(document).on("click", "선택자", e) 함수에서는 적용이 안되는 것 같아서요.

동적 태그에서 이벤트 사용할려면 $(document) 나 $("body") 를 써야 된다고 알고 있어서

어떻게 해야될 지 모르겠네요.

#bb 버튼 클릭하면 #aa 이벤트도 발생하네요.

아래는 샘플 코드 입니다.

=========== HTML =============

<a href="#" id="aa"></a>

$("#aa").click(function(e){

alert("aaa");

});

========== SCRIPT =============

$("#aa").append('<div><input type="button" id="bb" value="버튼"/></div>');


$(document).on("click" , "#bb", function(e){

  e.stopPropagation();

alert("bbb");

});



0
  • 답변 1

  • NoProblem
    46
    2019-08-30 10:53:04

    $("#aa").click(function(e){

    alert("aaa");

    });

    이것도 $(document).on('click', '#aa', function(e) { 로 바꾸시면 잘 되네요

  • 로그인을 하시면 답변 을 등록할 수 있습니다.