<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    魚躍于淵

    First know how, Second know why !
    posts - 0, comments - 1, trackbacks - 0, articles - 49

    addEventListener-第三個參數 useCapture

    Posted on 2008-12-21 10:02 魚躍于淵 閱讀(1076) 評論(0)  編輯  收藏 所屬分類: javascript相關

    addEventListener 有三個參數:第一個參數表示事件名稱(不含 on,如 "click");第二個參數表示要接收事件處理的函數;第三個參數為 useCapture,本文就講解它。

    1 <div id="outDiv">
    2   <div id="middleDiv">
    3     <div id="inDiv">請在此點擊鼠標。</div>
    4   </div>
    5 </div>
    6 
    7 <div id="info"></div>

     

    1 var outDiv = document.getElementById("outDiv");
    2 var middleDiv = document.getElementById("middleDiv");
    3 var inDiv = document.getElementById("inDiv");
    4 var info = document.getElementById("info");
    5  
    6 outDiv.addEventListener("click"function () { info.innerHTML += "outDiv" + "<br>"; }, false);
    7 middleDiv.addEventListener("click"function () { info.innerHTML += "middleDiv" + "<br>"; }, false);
    8 inDiv.addEventListener("click"function () { info.innerHTML += "inDiv" + "<br>"; }, false);

    上述是我們測試的代碼,根據 info 的顯示來確定觸發的順序,有三個 addEventListener,而 useCapture 可選值為 true 和 false,所以 2*2*2,可以得出 8 段不同的程序。

    • 全為 false 時,觸發順序為:inDiv、middleDiv、outDiv;
    • 全為 true 時,觸發順序為:outDiv、middleDiv、inDiv;
    • outDiv 為 true,其他為 false 時,觸發順序為:outDiv、inDiv、middleDiv;
    • middleDiv 為 true,其他為 false 時,觸發順序為:middleDiv、inDiv、outDiv;
    • ……

    最終得出如下結論:

    • true 的觸發順序總是在 false 之前;
    • 如果多個均為 true,則外層的觸發先于內層;
    • 如果多個均為 false,則內層的觸發先于外層。

    下面提供全部代碼,您可以更改其中的 true、false 值,來進行測試。注意,不適用于 IE。

     1 <?xml version="1.0" encoding="gb2312"?>
     2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     3 <html xmlns="http://www.w3.org/1999/xhtml">
     4 
     5 <head>
     6 <meta http-equiv="Content-Language" content="zh-cn" />
     7 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     8 <title>useCapture</title>
     9 <style type="text/css">
    10 #outDiv
    11 {
    12     padding:10px 10px 10px 10px;
    13     border:1px solid red;
    14 }
    15 
    16 #middleDiv
    17 {
    18     padding:10px 10px 10px 10px;
    19     border:1px solid green;
    20 }
    21 
    22 #inDiv
    23 {
    24     padding:10px 10px 10px 10px;
    25     border:1px solid blue;
    26 }
    27 </style>
    28 </head>
    29 
    30 <body>
    31 
    32 <div id="outDiv">
    33   <div id="middleDiv">
    34     <div id="inDiv">請在此點擊鼠標。</div>
    35   </div>
    36 </div>
    37 
    38 <div id="info"></div>
    39 
    40 <script language="javascript" type="text/javascript">
    41 <!--
    42 //千一網絡 www.cftea.com
    43 
    44 var outDiv = document.getElementById("outDiv");
    45 var middleDiv = document.getElementById("middleDiv");
    46 var inDiv = document.getElementById("inDiv");
    47 var info = document.getElementById("info");
    48  
    49 outDiv.addEventListener("click"function () { info.innerHTML += "outDiv" + "<br>"; }, false);
    50 middleDiv.addEventListener("click"function () { info.innerHTML += "middleDiv" + "<br>"; }, false);
    51 inDiv.addEventListener("click"function () { info.innerHTML += "inDiv" + "<br>"; }, false);
    52 //-->
    53 </script>
    54 
    55 </body>
    56 
    57 </html>
    主站蜘蛛池模板: 国产成人精品日本亚洲专区61| 三年片在线观看免费观看高清电影 | 亚洲欧洲日产国码久在线| 2015日韩永久免费视频播放| 亚洲免费视频一区二区三区| 亚洲成av人片在www鸭子| 无码日韩精品一区二区免费| 亚洲AV无码一区二区三区在线| 国内精品免费在线观看 | 亚洲精品国产精品| 国产精品无码免费视频二三区 | 日韩国产欧美亚洲v片| 亚洲第一网站免费视频| 99久9在线|免费| 亚洲国产成人久久77| 无人影院手机版在线观看免费| 亚洲中字慕日产2020| 最新免费jlzzjlzz在线播放| 亚洲精品无码日韩国产不卡av| 成人黄软件网18免费下载成人黄18免费视频 | 亚洲中文字幕一区精品自拍| 日本成人在线免费观看| 农村寡妇一级毛片免费看视频| 在线亚洲午夜理论AV大片| 99久久综合精品免费| 自拍偷区亚洲国内自拍| mm1313亚洲精品无码又大又粗| 在线免费观看h片| 亚洲最大中文字幕| 国产网站免费观看| 99视频免费在线观看| 亚洲日本国产精华液| 国产午夜无码视频免费网站| 一级做a爰性色毛片免费| 久久久亚洲精品无码| 老司机永久免费网站在线观看| 久久久受www免费人成| 亚洲无线一二三四区| 亚洲国产日韩在线观频| 99久久精品免费精品国产| 午夜亚洲乱码伦小说区69堂|