dojo verbinden mouseover und mouseout

Beim einrichten dojo verbindungen zu onmouseover und onmouseout, und dann das hinzufügen von Inhalten auf mouseover, dojo feuert die onmouseout Ereignis auf einmal, da es neuen Inhalt gibt. Beispiel:

dojo.query(".star").parent().connect("onmouseover", function() {
    dojo.query("span", this).addContent("<img src='star-hover.jpg'>");
}).connect("onmouseout", function() {
    dojo.destroy(dojo.query("img", this)[0]);
});

Den parent() ist ein <td>, und die .star ist ein span. Ich möchte hinzufügen das hover-Bild, wenn der Benutzer mit der Maus über die Zelle in der Tabelle. Es funktioniert, solange sich der cursor nicht bewegen Sie die Bild, denn das wird dazu führen, dass einige ernsthafte blinken. Ist das absichtlich? Und gibt es eine Möglichkeit, um es?

Edit: Nur versucht, etwas ähnliches mit jQuery, und es funktioniert wie erwartet (zumindest so, wie ich es erwartet habe, zu arbeiten.)

$(".star").parent().hover(function() {
    $("span", this).append("<img src='star-hover.jpg'>");
}, function() {
    $("img", this).remove();
});

Dies wird zeigen Sie das Bild wenn die Maus, und entfernen Sie nur, wenn Sie den cursor aus der Zelle.

Ich hätte lieber das Bild im inneren, alle span.Sterne-Knoten aus starten, dann fügen Sie eine Art von '.schwebte' - Klasse <td> Knoten, wenn sich der Mauszeiger über, und fügen Sie eine css-Regel zum anzeigen von Bildern im inneren span.Stern nur unter 'td.schwebte'.
Sicher, aber es wäre Gelegenheiten, wo man möchte anfügen Elemente auf hover-Zustand. Und das kann man doch nicht sein das korrekte Verhalten?

InformationsquelleAutor peirix | 2010-04-13

Schreibe einen Kommentar