알다시피, 이벤트는 일반적으로 자바 스크립트에서 버블 링되므로 이벤트를 발생시키는 요소의 이벤트 핸들러가 먼저 실행 된 다음 부모 요소의 이벤트 핸들러가 호출되는 식으로 계속됩니다. 이 문제는 현재 작업하고있는 프로젝트에서 몇 가지 문제가 발생합니다. 실행 순서가 반대로 변경됩니다.자바 스크립트에서 역 이벤트 버블 링
$(element).mouseover(function(){
var that = this;
setTimeout(function() {
//actual event handler, but references to "this" are replaced with "that"
},$(this).parents().length)
});
그래서 기본적으로 이벤트 핸들러가 짧은 시간 종료 후 실행, 대기 시간이 DOM 트리에서 요소의 깊이에 따라 달라집니다
나는 시간 제한을 사용하는 솔루션을 figuered : html 요소의 이벤트 처리기가 즉시 실행되고 body 요소의 이벤트 처리기가 1ms를 기다린 후 실행됩니다. 따라서 이벤트의 실행 순서가 바뀝니다.
첫 번째 테스트의 결과는 긍정적이지만,이 솔루션에 문제가 있는지 또는 단점이 있는지 확실하지 않습니다. 이 솔루션에 대해 어떻게 생각하십니까? 이 문제를 해결하는 방법에 대한 다른 아이디어 또한 높이 평가됩니다.
부모님의 * 금액 *을 제한 시간 (밀리 초)으로 설정하는 이유를 알지 못합니다. – pimvdb
그는 리프 요소에서 이벤트 처리기를 실행하는 것이 너무 지연되어 체인에서 마지막으로 실행되도록하기 위해이 작업을 수행하고 있습니다. – WTK