2014-03-04 11 views
0

안녕하세요, 제 코드에는 동적 버튼이 몇 개 추가됩니다.Javascript addEventListener to dynamic button

document.querySelector("input[name='btn']").addEventListener("click", runFunction); 

을 다음과 같이 내가 이벤트 리스너를 추가하고하지만 크롬 콘솔에서 '널의 방법 또는 addEventListener를 호출 할 수 없습니다 "점점 오전 추가하기 전에. 내가 아닌 요소에 이벤트 리스너를 추가 할 수있는 방법을 일반에 아직 존재 자바 스크립트?

답변

0

봅니다. 준비 문서에 그것을 수행하는 방법이 jQuery를 사용하는 경우에는이

$(function() { 

document.querySelector("input[name='btn']").addEventListener("click", runFunction); 

}); 

또는

과 같은 작업을 수행 할 수 있습니다 당신이 jQuery를 사용하지 않는 경우

$(document).ready(function() { /* code here */ });

, 당신은 아직 존재하지 않는 요소에 리스너를 추가 할 수 없습니다 위해 window.onload를 사용하거나

2

을 window.document.onload 수 있습니다. 어느 쪽 (몸 닫기 태그 앞에) 페이지의 끝이나이 방법에서 스크립트를 실행합니다

window.onload = function() { 
    document.querySelector("input[name='btn']").addEventListener("click", runFunction); 
}; 

document.querySelector()는 선택 일치하는 요소를 찾을 수없는 경우는 null를 돌려, 당신은 할 수 null 객체의 메소드를 호출하지 않는다.