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