Javascript의 이벤트에 대한 짧은 이야기
6007 단어 javascript
Events are actions or occurrences that happen in the system you are programming, which the system tells you about so you can respond to them in some way if desired.
이벤트 버블링
이벤트 버블링은 이벤트가 가장 깊은 요소 또는 대상 요소에서 시작하여 부모, 그 다음 아래에서 위로 가는 모든 조상으로 시작합니다. 현재 모든 최신 브라우저에는 이벤트 흐름의 기본 방식으로 이벤트 버블링이 있습니다.
예시
<div id="parent">
<button id="child">Child</button>
</div>
var parent = document.querySelector('#parent');
parent.addEventListener('click', function(){
console.log("Parent clicked");
});
var child = document.querySelector('#child');
child.addEventListener('click', function(){
console.log("Child clicked");
});
실행은 다음과 같이 종료됩니다.
Child clicked
Parent clicked
버튼을 클릭하면 내부 이벤트 대상(ID가 자식인 버튼)에서 Document로 이벤트가 전달됩니다. 다음 순서로 클릭 이벤트 패스:
이벤트 버블링을 중지하려면 event.stopPropagation() 메서드를 사용할 수 있습니다.
이벤트 캡처
이벤트 캡처는 최상위 요소에서 대상 요소로 이벤트가 시작됩니다. 최신 브라우저는 기본적으로 이벤트 캡처를 지원하지 않지만 JavaScript의 코드로 이를 달성할 수 있습니다.
<div id="parent">
<button id="child">Child</button>
</div>
var parent = document.querySelector('#parent');
var child = document.querySelector('#child');
parent.addEventListener('click', function(){
console.log("Parent clicked");
},true);
child.addEventListener('click', function(){
console.log("Child clicked");
});
실행은 다음과 같이 종료됩니다.
Parent clicked
Child clicked
결론
이벤트 흐름에서 이벤트 대상에는 이벤트 캡처가 끝나고 이벤트 버블링이 시작되는 두 단계가 있습니다.
Reference
이 문제에 관하여(Javascript의 이벤트에 대한 짧은 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/migueloop/a-short-story-about-events-in-javascript-5el3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)