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() не является функцией по переносу существующего кода.

Другие вопросы по тегам