2011-06-17 79 views
0

爲什麼是這個代碼:爲什麼受其父代的* set_capture *影響的元素的* set_capture *

HTML:

<div id="outer" > 
    Outer Div 
    <div id="inner" > 
     Inner Div 
    </div> 
</div> 

的onload:

document.getElementById("outer").addEventListener("mousedown", function() { 
    alert('outer'); 
}, true); 

document.getElementById("inner").addEventListener("mousedown", function() { 
    alert('inner'); 
}, false); 

http://jsfiddle.net/fGZ3U/

給了我們一個警告outer隨後警報inner

在內部的* use_capture *參數中,它被設置爲false,這意味着事件應該從'內部'開始,不是嗎?我知道如果我們將外層的* set_capture *設置爲false,那麼結果將會是inner,然後是outer,但是我不知道外層的* set_capture *值應該如何對這裏的結果產生任何影響。

回答

0

沒有它不應該 - use_capture參數集,其中事件處理的一部分是這樣的事件觸發

  1. 部分是捕獲(use_capture =真) 它從窗口開始在樹中的最深的元件

  2. 一部分鼓泡 它正在啓動ftom最深元件並進入所述窗口

(在你的情況下外部是首先由於它在第一部分觸發)

http://www.quirksmode.org/js/events_order.html

相關問題