有2種在現代瀏覽器(「捕獲」和「沸騰」)和泡沫,這取決於你的瀏覽器事件捕獲方法正在使用。我可能是錯的,但據我記得當Mozilla瀏覽器使用「捕獲」的方法,而IE瀏覽器正在使用「冒泡」。 區別在於「捕獲」方法從父項到子項啓動事件鏈,這意味着父項事件將首先觸發,並且子元素將最後觸發(這發生在您的案例中)。你需要在這裏設置你的事件類型爲Bubble。要做到這一點,你需要刪除的onclick財產,將其替換爲:
<li id="lst">
<div>
<span id="spn">click</span>
</div>
</li>
var element1 = document.getElementById('lst');
var element2 = document.getElementById('spn');
element1.addEventListener('click',doSomething1,false);
element1.addEventListener('click',doSomething2,false);
其中doSomething1和doSomething1是函數指針; 你也可以使用jQuery的事件綁定,它有它自己的事件綁定功能,默認情況下它們被設置爲冒泡,但是你可以關閉冒泡,它會使用捕捉方法,而不是
這裏是一個有用的文章
http://www.quirksmode.org/js/events_order.html
爲什麼不使用jQuery綁定事件而不是使用內聯事件? – ThiefMaster 2012-03-03 11:44:08