jQuery - как использовать метод "on()" вместо "live()"?
Я использовал live()
для сгенерированных страниц и фреймов. Но в jQuery 1.9
эта функция устарела и не работает.
я использую on()
вместо live()
но этот метод работает один раз и не работает в кадрах.
Мой код выглядит так:
$("#element").live('click',function(){
$("#my").html(result);
});
Каково решение?
1 ответ
Решение
$('body').on('click', '#element', function(){
$("#my").html(result);
});
Выбранный селектор элемента теперь проходит через .on()
параметры функции, и предыдущий селектор должен быть заменен на ближайший родительский селектор, предпочтительно с идентификатором. Если вы не знаете, какой родительский селектор использовать, body
работает тоже, но менее эффективно.
см. jQuery 1.9 .live() не является функцией по переносу существующего кода.