Frage

Ich habe eine Tabelle innerhalb eines Div, mit 8 Bildern, ich mag für ein mouseout Ereignis ausgelöst entweder den Tisch oder die div, aber es wird nicht ausgelöst. Ich vermute, dies liegt daran, dass die Maus tatsächlich jedes der Bilder oder die td zu verlassen, oder die tr etc ... Gibt es eine Möglichkeit, das mouseout Ereignis zu bekommen für die gesamte Tabelle nach oben zu verbreiten, so dass sie selbst gebrannt von den untergeordneten Elementen? Das Markup ist einfach:

<div id=container>
  <table id="tbl">
    <tr>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
    </tr>
    <tr>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
    </tr>
  </table>
</div>

und mein jQuery-Code lautet:

$("#tbl").mouseout(function(){
  alert("out home");
});

Ich kann die einzelne mouseout Ereignisse für die Bilder schießen, weil es manchmal absolut Elemente über sie gelegt, welche das mouseout Ereignis verursacht vorzeitig entlassen werden.

Keine korrekte Lösung

Andere Tipps

Sollte sein:

$("#tbl").mouseout(function(){
  alert("out home");
});

Sie haben den "#" verpasst. Wenn Sie nur Bilder, versuchen Sie:

$("#tbl >img").mouseout(function(){
  alert("out home");
});

PS. Haben Sie darüber nachgedacht, $ ( "...") verwenden. Schweben () statt?

Sollten Sie nicht verwenden #tbl die Tabelle auszuwählen?

$("#tbl").mouseout(function(){
  alert("out home");
});

Mit mouseleave Veranstaltung, die genau die gleiche Funktionalität hat, aber es funktioniert nicht mit untergeordneten Elementen Feuer.

$("#tbl").bind("mouseleave",function(){
  alert("out home");
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top