Как заменить «вживую» с jQuery 1.8.3 на jQuery 1.9? [Дубликат]
На этот вопрос уже есть ответ здесь:
Превращение live () в on () в jQuery 5 ответовМой веб-фреймворк автоматически обновил мой скрипт jQuery до текущей последней версии 1.9.
Теперь все мои:
$(".myclass").live("click", function() {...
не работать больше Я в основном использовал его с каким-то ajax, который называется html на моей странице.
Я бы знал, как заменить эту функциональность в последней версии. Друг сказал мне использовать вместо этого «on», но «on» остается неизменным для того же элемента.
Пояснение: в этом примере (без ajax) я использую значок «+», чтобы отобразить «список 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>');
});
(Я знаю, что сценарий не самый оптимизированный за всю историю, но он работал. Я использовал классы, чтобы открывать или закрывать свои списки. И если у посетителя не включен JS, ничего не скрывается, все свернутые списки открываются)
Примечания:
я пробовалhttps://github.com/jquery/jquery-migrate, но единственное сообщение, которое у меня есть, это «JQMIGRATE: jQuery.fn.live () устарела», а не как это исправить.