코딩

onclick이 동작하지 않을때(InnerHTML, 다이나믹html, 동적 생성)

ZER01 2025. 2. 6. 20:32

jquery를 이용해 $(id).onclick();과 같은 onclick 이벤트를 많이 사용합니다.

이때 onclick은 일반적으로 document ready안에 들어가게되고 이는 페이지 로딩 후에 동작하도록 되어있습니다.

페이지 로딩 후에 동적으로 생성된 객체에 대해서는 동작하지 않으며, 이런경우 $(document).on(); 함수를 이용하면됩니다.

btn이라는 id를 가진 버튼에 대한 클릭이벤트를 만들고자 할 경우


$(document).on("click","#btn",function(){
    alert("test");
});


이런식으로 사용하면 동적으로 생성된 객체에 대한 이벤트를 생성할 수 있습니다.

"click" 대신에 change, keydown 등의 경우도 마찬가지 입니다.