如何阻止父事件被触发?

时间:2009-05-25 17:28:30

标签: javascript html function

如果我有......

<div id="parent" onmouseover="doSomething()">
    <div id="child" onmouseover="doSomethingElse()">
    </div>
</div>

我怎样才能让它在我徘徊在孩子身上时不执行doSomething()?当我将鼠标悬停在孩子身上时,我只想要doSomethingElse()执行,而我只想在父母徘徊时执行doSomething()。

每当我将鼠标悬停在孩子上时,两个函数都会执行。有什么想法吗?

马特

3 个答案:

答案 0 :(得分:1)

function doSomethingElse(e) {
// your function body

e.stopPropagation() 

}

答案 1 :(得分:1)

将属性值更改为

onmouseover="doSomethingElse(event)"

并将doSomethingElse()更改为

function doSomethingElse(e) {
    e.stopPropagation && e.stopPropagation();
    e.cancelBubble = true;
    // ...
}

答案 2 :(得分:0)

我没有测试它,但应该有几种方法可以做到。

请检查事件冒泡:它在IE和Firefox中有所不同,但仍然: www.quirksmode.org/js/events_order.html