jQuery event.isImmediatePropagationStopped() 方法



jQuery 的event.isImmediatePropagationStopped() 方法用於檢查是否曾經在此事件物件上呼叫過event.stopImmediatePropagation()

如果已經呼叫了 jQuery event.stopImmediatePropagation() 方法,則此方法返回布林值“true”,否則返回“false”。

語法

以下是 jQuery event.isImmediatePropagationStopped() 方法的語法:

event.isImmediatePropagationStopped() 

引數

  • 此方法不接受任何引數。

返回值

如果已經呼叫了 event.stopImmediatePropagation() 方法,則此方法返回“true”,否則返回“false”。

示例 1

如果已經呼叫了event.stopImmediatePropagation() 方法,則此方法返回“true”

以下是 jQuery event.isImmediatePropagationStopped() 方法的基本示例:

<html>
   <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
      <style>
        div{ 
            margin:10px;
            padding:12px; 
            border:2px solid #666; 
            width:160px;
            color: white;
        }
      </style>
    </head>
    <body>
       <p>Click on any box to see the effect:</p>
       <div id = "div1" style = "background-color:blue;">
          OUTER BOX
          <div id = "div2" style = "background-color:red;">
             INNER BOX
             </div> 
        </div>
    <script>
    $(document).ready(function() {
        $("div").click(function(event){	
            alert("This is: " + $(this).text());
            event.stopImmediatePropagation();
            alert("Is immediate propagation stopped? " + event.isImmediatePropagationStopped());
        });	
    });
      </script>
   </body>
</html>

輸出

上述程式顯示兩個巢狀的 div 元素。當單擊一個 div 時,彈出視窗會指示單擊了哪個 div。彈出視窗還會顯示“true”,如果已呼叫 event.stopImmediatePropagation(),則表示事件傳播已被停止。


示例 2

如果在事件處理程式上沒有呼叫event.stopImmediatePropagation(),則event.isImmediatePropagationStopped()方法將返回“false”。

<html>
   <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
      <style>
        div{ 
            margin:10px;
            padding:12px; 
            border:2px solid #666; 
            width:160px;
            color: white;
        }
      </style>
    </head>
    <body>
       <p>Click on any box to see the effect:</p>
       <div id = "div1" style = "background-color:blue;">
          OUTER BOX
          <div id = "div2" style = "background-color:red;">
             INNER BOX
             </div> 
        </div>
    <script>
    $(document).ready(function() {
        $("div").click(function(event){	
            alert("This is: " + $(this).text());
            //event.stopImmediatePropagation();
            alert("Is immediate propagation stopped? " + event.isImmediatePropagationStopped());
        });	
    });
      </script>
   </body>
</html>

輸出

執行上述程式後,將顯示兩個巢狀的 div 和一個按鈕元素。單擊任何 div 時,都會顯示訊息,指示單擊了哪個 div。如果單擊按鈕,“false”將被列印。


jquery_ref_events.htm
廣告
© . All rights reserved.