2009-05-25 3 views
1

私は...親イベントが発砲するのを止めるにはどうしたらいいですか?

私が子供の上にマウスを移動していたときのdoSomething()が実行されないように、私はそれを作ることができますどのように
<div id="parent" onmouseover="doSomething()"> 
    <div id="child" onmouseover="doSomethingElse()"> 
    </div> 
</div> 

を持っている場合は?私は子供の上にマウスを乗せているときにdoSomethingElse()を実行するだけで、親の上を動いているときにdoSomething()を実行するだけです。

子供の上にカーソルを置くと、両方の機能が実行されます。何か案は?

マット

答えて

1
function doSomethingElse(e) { 
// your function body 

e.stopPropagation() 

} 
+0

はIE – Christoph

+0

では動作しませんjQueryの機能ということではないですか? – Macha

+0

いいえ純粋なjavascriptです:https://developer.mozilla.org/En/DOM/Event.stopPropagation –

1

変更

​​

に属性値と、私はそれをテストしていないが、それにはいくつかの方法があるはずですdoSomethingElse()

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

ですcancelBubbleは標準的なプロパティではありません。 stopPropagationメソッド –

+1

@Marwanを使用する方が良いです。IEユーザーを無視する場合は、先に対象のブラウザーを確認してください。 – Christoph

+0

IEが治療のような基準を無視している限り。目のための目、ジャズのすべて。 ;-) –

0

を変更それをやる。

イベントバブリングを確認してください:それはまだIEとFirefoxで異なるのですが、: www.quirksmode.org/js/events_order.html

関連する問題