Mein Web-Framework aktualisiert automatisch mein jQuery-Skript auf die aktuelle letzte Version, die 1.9.Wie "Live" von jQuery 1.8.3 zu jQuery 1.9 zu ersetzen?
Jetzt alle meine:
$(".myclass").live("click", function() {...
funktionieren nicht mehr. Ich habe es meistens mit etwas Ajax benutzt, das html in meine Seite gefüllt hat.
Ich würde wissen, wie man diese Funktionalitaet in der letzten Version ersetzt. Ein Freund sagte mir, ich solle stattdessen "on" verwenden, aber das "on" bleibt auf demselben Element fixiert.
Erklärung, in diesem Beispiel (kein Ajax) verwende ich ein "+" - Symbol, um eine "ul li list" anzuzeigen.
$(".closed").live('click', function(){
$("#ul_list_"+$(this).attr('id')).addClass("displayed").removeClass("hidden").show();
$(this).addClass("openned").removeClass('closed');
$(this).html('<i class="icon-minus"></i>');
});
$(".openned").live('click', function(){
$("#ul_list_"+$(this).attr('id')).addClass("hidden").removeClass("displayed").hide();
$(this).addClass("closed").removeClass('openned');
$(this).html('<i class="icon-plus"></i>');
});
(Ich weiß, dass das Skript ist nicht die jemals optimiert, aber es funktionierte. Benutzte ich Klassen meine Listen zu öffnen oder zu schließen. Und wenn der Besucher nicht JS aktiviert hat, nichts ist verborgen, alle die gefalteten Listen geöffnet)
Hinweise:
- ich https://github.com/jquery/jquery-migrate habe versucht, aber die einzige Botschaft, die ich habe, ist „JQMIGRATE: jQuery.fn.live() ist veraltet“, nicht wie sie beheben es.
Haben Sie versucht "binden"? –
In der Tat suchte ich von 1.8 bis 1.9, oder einfach nur "jquery 1.9 live", ohne zu bemerken, dass es von 1.7 war! Vielen Dank! – Polopollo
Siehe [Migrationsbeispiele] (http://stackoverflow.com/a/14354091/584192) –