사용자 상호 작용을 기반으로 데이터 테이블을 동적으로 생성하는 Greasemonkey 스크립트를 작성하려고합니다. 데이터 테이블을 만들었습니다. 내 문제는 내가 테이블을 만들 때마다 두 번 통과해야한다는 것입니다. 하나는 테이블을 만들고 다른 하나는 (ID로) 이벤트 처리기를 추가하고 그들에게 다양한 이벤트 핸들러.페이지에 아직 추가되지 않은 요소에 javascript 이벤트 핸들러를 등록하는 방법
테이블을 만들고 HTML에 삽입하기 전에 테이블에 onClick 이벤트를 추가하려고하면 "구성 요소를 사용할 수 없음"예외가 발생합니다.
두 번째 패스에서 핸들러를 추가 할 때 개별적으로 ids 목록과 그 요소에 대해 수행해야 할 작업을 유지해야하기 때문에 이것은 엄청난 번거 로움입니다. 이드를 기반으로 엘리먼트에 대해 무엇을해야하는지 알고 있습니다.
이 작업을 수행하는 더 좋은 방법이 있어야합니다. 나는 아직 그것을 이해하지 못했습니다. 누구든지 아이디어가 있습니까?
하나를 대답의 첫 부분. 타이머 비트를 좋아하지는 마라. 그러나 나는 당신이 의미하는 것을 본다. 나는 jQuery에서 멀리 떨어져있다. 높은 성능을 요구하는 앱의 오버 헤드입니다. – theoutlander
이 답변을 작성한 이래로 정기적 인 폴링 이외의 새로운 요소가 DOM에 나타날 때 코드에 알리는 새로운 방법이있을 수 있습니다. 하지만 대부분의 상황에서 가장 좋은 대답은 이벤트 버블 링을 대신 사용하는 것입니다. 이것은 공통 상위 요소로 이벤트를 전달하기 위해 요소 체인에 의존합니다. – thomasrutter