>  기사  >  웹 프론트엔드  >  이벤트 버블링 비율의 코드 분석

이벤트 버블링 비율의 코드 분석

不言
不言원래의
2018-07-14 16:06:572282검색

이 글은 주로 버블링에 비해 이벤트 버블링의 코드 분석을 소개합니다. 이제 이를 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

버블의 개념은 이벤트를 트리거하는 것입니다. . 해당 조상 요소도 동일한 이벤트를 트리거합니다

(동일한 이벤트가 필수 상위 요소에도 추가됩니다)

eg: 아들이 onclick을 갖고 조상 18세대도 onclick을 갖습니다

아들이 클릭될 때 ,조상 18세대의 클릭 이벤트도 발생합니다

가끔 이런 상황이 발생하면 많은 문제가 발생할 수 있으니 버블링을 방지해야 합니다

클릭한 요소만 이벤트를 발생시킵니다

모든 이벤트가 버블링되는 것은 아닙니다

Onblur onfocus onload onerror 없음

실제로 이벤트 트리거에는 세 가지 프로세스가 있습니다. 캡처 단계 ---> 대상 단계에서 ----> 버블링 단계

표준 브라우저 버블 순서 하위 요소 --> 부모 --> body-->document--->window

IE 자식 요소-->parent-->body-->document

다음으로 코드는 매우 쉽습니다. 호환성 과정

<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>阻止冒泡</title>
 </head>
 <body>
     <input type="button"  id="cancelBubble" value="取消冒泡"/>
    <script type="text/javascript">
          var btn=document.getElementById("cancelBubble");
          document.onclick=function(){
            alert("冒泡");
          }
          btn.onclick=function(event){
          var event=event||window.event;//兼容
          if(event && event.stopPropagation){
               
               event.stopPropagation();
          
          }
          else{
              //IE 678
             event.cancelBubble=true;
          }
           alert("没有冒泡");
          
          }
    </script>
 </body>
</html>

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장사항:

NodeJS가 메시지 큐를 운영하는 방법 분석 RabbitMQ

JavaScript가 파일 다운로드 기능을 구현하는 방법

위 내용은 이벤트 버블링 비율의 코드 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.