Jak zastąpić „live” z jQuery 1.8.3 na jQuery 1.9? [duplikować]

To pytanie ma już tutaj odpowiedź:

Włączanie live () do on () w jQuery 5 odpowiedzi

Moje środowisko WWW automatycznie zaktualizowało mój skrypt jQuery do najnowszej wersji, 1.9.

Teraz wszyscy moi:

$(".myclass").live("click", function() {...

nie pracuj już. Użyłem go głównie z niektórymi ajaxami, które wypełniły HTML na mojej stronie.

Wiedziałbym, jak zastąpić tę funkcjonalność w ostatniej wersji. Przyjaciel powiedział mi, żebym zamiast tego użył „on”, ale „on” pozostaje na tym samym elemencie.

Objaśnienie: w tym przykładzie (bez ajax) używam ikony „+”, aby wyświetlić listę „ul li”.

$(".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>');
});

(Wiem, że skrypt nie jest najbardziej zoptymalizowany, ale zadziałał. Użyłem klas do otwarcia lub zamknięcia list. A jeśli użytkownik nie ma włączonego JS, nic nie jest ukryte, wszystkie złożone listy są otwierane)

Uwagi:

próbowałemhttps://github.com/jquery/jquery-migrate, ale jedyną wiadomością, którą mam, jest „JQMIGRATE: jQuery.fn.live () jest przestarzałe”, a nie jak to naprawić.

questionAnswers(3)

yourAnswerToTheQuestion