Ich habe dieses kleine Problem und ich bitte um Ihre Hilfe. Ich habe ein div Element, innerhalb dessen ich ein img Element haben, wie dieseJavaScript mouseover/mouseout Problem mit Kindelement
<div id="parent" onmouseover="MyFuncHover()" onmouseout="MyFuncOut()">
<img id="child" src="button.png" style="visibility: hidden" />
</div>
<script type="text/javascript">
function MyFuncHover() {
// Here I have some code that makes the "child" visible
}
function MyFuncOut() {
// Here I have some code that makes the "child" invisible again
}
</script>
Wie Sie sehen, ist das Bild ein Kind des div. Ich will das nur wenn ich das div verlasse, verschwindet das Kind. Es sieht jedoch so aus, als wenn ich die Maus über das Bild bewege, wird die MyFuncOut() Funktion aufgerufen (weil, ich nehme an, ich lasse das div, indem ich das Bild schwebe). Ich möchte nicht, dass das passiert. Ich möchte die MyFuncOut() Funktion nur aufgerufen werden, wenn ich den div Bereich verlasse.
Ich wusste nicht, dass, wenn Sie Ihre Maus über ein Kind-Steuerelement bewegen, es Eltern ruft das Mouseout-Ereignis (auch wenn ich über das Kind bin, bin ich immer noch über die Eltern, auch). Ich bin darin gefangen und ich brauche ein wenig von deinem guten Rat. Vielen Dank!
ÄNDERUNGEN
O. K. Event bubbling wird das "mouseout" -Ereignis nicht an das Elternobjekt senden, wenn ich das Kind "mouseout". Es wird auch nicht das "Mouseover" -Ereignis an den Eltern senden, wenn ich das Kind "mouseover". Das ist nicht was ich brauche. Ich brauche das "mouseout" Ereignis des Elternteils, um nicht gesendet zu werden, wenn ich das Kind "mouseover". Hole es? Das Bubbling von Ereignissen ist nützlich, wenn ich beispielsweise nicht möchte, dass ein Klickereignis für das untergeordnete Element an das übergeordnete Element weitergegeben wird. Dies ist jedoch nicht der Fall. Was seltsam ist, ist, dass ich andere Elemente innerhalb desselben Elternteils habe, die das "mouseout" -Ereignis des Elternteils nicht auslösen, wenn ich sie "mouseover" übersetze.
Ich möchte es nur mit JavaScript machen, danke trotzdem, könnte eine letzte Lösung sein. – ali
Sie sind in Prototype übrigens auch verfügbar ... – user1856596
Yeah! es funktioniert super! : D – Steffi