Wie wird "live" von jQuery 1.8.3 in jQuery 1.9 ersetzt? [Duplikat]

8

Mein Web-Framework hat mein jQuery-Skript automatisch auf die letzte Version 1.9 aktualisiert.

Jetzt alle meine:

%Vor%

funktioniert nicht mehr. Ich habe es meistens mit etwas Ajax benutzt, das html in meine Seite gefüllt hat.

Ich würde wissen, wie ich diese Funktion in der letzten Version ersetzen kann. Ein Freund sagte mir, ich solle stattdessen "on" verwenden, aber "on" bleibt auf demselben Element fixiert.

Erklärung, in diesem Beispiel (kein Ajax) verwende ich ein "+" - Symbol, um eine "ul li-Liste" anzuzeigen.

%Vor%

(Ich weiß, dass das Skript nicht das Optimierteste ist, aber es hat funktioniert. Ich habe Klassen verwendet, um meine Listen zu öffnen oder zu schließen. Und wenn der Besucher JS nicht aktiviert hat, ist nichts versteckt, alle gefalteten Listen sind geöffnet)

Anmerkungen:

  • Ich habe Ссылка ausprobiert, aber die einzige Nachricht, die ich habe, ist "JQMIGRATE: jQuery.fn.live ( ) ist veraltet ", nicht wie man es repariert.
Polopollo 23.01.2013, 12:21
quelle

3 Antworten

25

Die Dokumentation enthält bereits ein Beispiel:

  

Das Umschreiben der .live () Methode in Bezug auf ihre Nachfolger ist   einfach; Dies sind Vorlagen für gleichwertige Anrufe für alle   drei Methoden zum Anhängen von Ereignissen:

%Vor%

Also: $(document).on("click", ".closed", function() { ... }) .

    
Jon 23.01.2013, 12:23
quelle
7

Sie müssen on mit einem delegierten Handler verwenden:

%Vor%

Beachten Sie, dass Sie #parent durch das nächste übergeordnete Element zu .closed ersetzen sollten, das beim Laden der Seite verfügbar ist - normalerweise das Element, an das .closed angehängt wurde.

    
Rory McCrossan 23.01.2013 12:23
quelle
1

Sie müssen on anstelle von live verwenden. weil Live in der Version 1.7 veraltet ist

    
muthu 23.01.2013 12:22
quelle