테스트 사이트 - 개발 중인 베타 버전입니다

event.stopImmediatePropagation ()

· 8년 전 · 1335

event.stopImmediatePropagation ()


설명 : 나머지 처리기가 실행되지 않도록 유지하고 이벤트가 DOM 트리 위로 버블 링되는 것을 방지합니다.


요소에 추가 핸들러가 실행되지 않도록하는 것 외에도이 메서드는 암시 적으로 호출하여 버블 링을 중지합니다 event.stopPropagation(). 단순히 이벤트가 조상 요소로 버블 링되는 것을 방지하고 다른 이벤트 처리기를 동일한 요소에서 실행할 수있게하려면 event.stopPropagation()대신 사용할 수 있습니다 .


event.isImmediatePropagationStopped()이 메서드가 (이벤트 객체에서) 호출되었는지 여부를 확인하는 데 사용 합니다.


추가 참고 사항 :


이 .live()메서드는 이벤트가 문서의 맨 위로 전파되면 이벤트를 처리 하므로 라이브 이벤트 전파를 중지 할 수 없습니다. 비슷하게 처리 된 이벤트 .delegate()는 위임 된 요소로 전달됩니다. DOM 트리에서 그 아래에있는 모든 요소에 바인딩 된 이벤트 핸들러는 위임 된 이벤트 핸들러가 호출 될 때까지 이미 실행되었을 것입니다. 따라서 이러한 처리기는 위임 된 처리기가 호출 event.stopPropagation()하거나 반환 하여 트리거하지 못하게 할 수 있습니다 false.

예:

다른 이벤트 처리기가 호출되지 않도록합니다.




<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>event.stopImmediatePropagation demo</title>

  <style>

  p {

    height: 30px;

    width: 150px;

    background-color: #ccf;

  }

  div {

    height: 30px;

    width: 150px;

    background-color: #cfc;

  }

  </style>

  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>

</head>

<body>

 

<p>paragraph</p>

<div>division</div>

 

<script>

$( "p" ).click(function( event ) {

  event.stopImmediatePropagation();

});

$( "p" ).click(function( event ) {

  // This function won't be executed

  $( this ).css( "background-color", "#f00" );

});

$( "div" ).click(function( event ) {

  // This function will be executed

  $( this ).css( "background-color", "#f00" );

});

</script>

 

</body>

</html>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
15854
15853
15852
15851
15849
15848
15847
15843
15842
15841
15840
15839
15838
15837
15836
15835
15834
15833
15832
15831
15830
15829
15828
15826
15825
15824
15823
15822
15821
15820