Ich verwende den folgenden Abfragecode, um eine kontextbezogene Löschschaltfläche nur für Tabellenzeilen anzuzeigen, die wir mit der Maus bewegen. Dies funktioniert jedoch nicht für Zeilen, die im laufenden Betrieb mit js / ajax hinzugefügt wurden ...
Gibt es eine Möglichkeit, diese Arbeit mit Live-Events zu machen?
$("table tr").hover(
function () {},
function () {}
);
jquery
live
jquery-1.4
Jorre
quelle
quelle
live
: api.jquery.com/live.live
Dokumentationsseite heißt es,.on
stattdessen zu verwenden . "Ab jQuery 1.7 ist die .live () -Methode veraltet. Verwenden Sie .on (), um Ereignishandler anzuhängen."http://api.jquery.com/live/
quelle
.live
ist jetzt veraltet, siehe Andres Antwort für die Ersatzmethode jetzt.mouseover
undmouseout
Ereignisse hier verwenden, wird der Code kontinuierlich ausgelöst, wenn der Benutzer die Maus innerhalb des Elements bewegt. Ich denkemouseenter
und binmouseleave
angemessener, da es nur einmal beim Eintritt feuert..live()
wurde ab jQuery 1.7 veraltetVerwenden Sie
.on()
stattdessen und geben Sie einen Nachkommen-Selektor anhttp://api.jquery.com/on/
quelle
Ab jQuery 1.4.1 funktioniert das Hover-Ereignis mit
live()
. Es bindet im Grunde nur an die Ereignisse von mouseenter und mouseleave, was Sie auch mit Versionen vor 1.4.1 tun können:Dies erfordert zwei Bindungen, funktioniert aber genauso gut.
quelle
Dieser Code funktioniert:
quelle
WARNUNG: Bei der Live-Version von Hover gibt es erhebliche Leistungseinbußen. Dies macht sich besonders auf einer großen Seite im IE8 bemerkbar.
Ich arbeite an einem Projekt, in dem wir mehrstufige Menüs mit AJAX laden (wir haben unsere Gründe :). Wie auch immer, ich habe die Live-Methode für den Hover verwendet, die in Chrome großartig funktioniert hat (IE9 hat OK funktioniert, aber nicht großartig). In IE8 wurden jedoch nicht nur die Menüs verlangsamt (Sie mussten einige Sekunden lang schweben, bevor sie gelöscht wurden), sondern alles auf der Seite war schmerzhaft langsam, einschließlich Scrollen und sogar Aktivieren einfacher Kontrollkästchen.
Das Binden der Ereignisse direkt nach dem Laden führte zu einer angemessenen Leistung.
quelle