, 당신은 addEventListener()
또는 attachEvent()
대신 012을 설정 (IE 이전 버전)를 사용할 수 있습니다, .onsubmit
등 ... 이전 이벤트 핸들러에 영향을주지 않고 새 이벤트 핸들러를 추가하십시오.
// add event cross browser
function addEvent(elem, event, fn) {
if (elem.addEventListener) {
elem.addEventListener(event, fn, false);
} else {
elem.attachEvent("on" + event, function() {
// set the this pointer same as addEventListener when fn is called
return(fn.call(elem, window.event));
});
}
}
나는 일반 자바 스크립트는 일반 자바 스크립트 이벤트를 가지고있는 것을 볼 수 DOM 객체를 기존의 심문에서 알고 있어요 더 크로스 브라우저 방법은 없습니다 : 여기
이벤트를 추가하는 간단한 크로스 브라우저 기능입니다 핸들러는
addEventListener
또는
attachEvent
을 통해 설치됩니다. 이벤트 처리기가 jQuery와 함께 설치되면
this technique을 통해 조사 할 수 있습니다.
모든 이벤트 처리기를 나열하는 속성을 추가하기 위해 수행 된 향후 사양 작업이 있지만 아직 구현되지 않았는지 확실하지 않습니다. 해당 내용은 here에 대한 자세한 내용을 볼 수 있습니다. 이벤트 핸들러를 들어
는 onclick
이 onsubmit
는, onfocus
는, 등등 ..., 당신은 사람들이 이러한 이벤트에 할당 핸들러가 있고 당신이 원하는 경우에 당신이 다음을 연결할 수있는보고 기존의 모든 DOM 요소를 확인할 수 있습니다 설치.
// add other events here you are interested in
var events = ["onclick", "onsubmit", "onfocus", "onblur"];
var elems = document.getElementsByTagName("*"), item;
for (var i = 0; i < elems.length; i++) {
item = elems[i];
for (var j = 0; j < events.length; j++) {
if (item[events[j]]) {
console.log("event handler for " + events[j]);
}
}
}
문제의 두 번째 부분입니다. 첫 번째 절반은 내 이벤트를 타사 DOM에 연결하기 전에 어떤 DOM 요소에 이벤트가 할당되었는지 파악하는 것입니다. –
@ DanielNill - 내 답변에 더 많은 정보를 추가했습니다. 나는 당신이이 부분을 원한다는 당신의 질문이 명확하지 않다고 말하고, 당신이 정말로 성취하고자하는 것에 대해 더 많이 말하면 도움이 될만한 귀중한 정보를 얻게 될 것입니다. – jfriend00
감사합니다. 귀하의 후속 조치는 훌륭하고 정확하게 제가 찾고있는 것입니다. 원래의 질문이 분명하지 않은 것을 유감스럽게 생각합니다. –