Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Почему не работает метод on? (https://javascript.ru/forum/jquery/63863-pochemu-ne-rabotaet-metod.html)

maxapet 05.07.2016 07:20

Почему не работает метод on?
 
Вот такой простой код:
alert($(".tbl-options td").length);
$(".tbl-options td").on("click", function(eo) {alert('!!!');});

alert показывает, что селектор $(".tbl-options td") возвращает не пустой набор данных, но событие не срабатывает. Более того, при использовании live и click вместо on событие срабатывает. Но live является устаревшим, а click не подходит потому, что я хотел бы использовать делегированное событие - мне нужно повесить обработчик события на те элементы, которых не существует на момент вызова этого метода.

dd_smol 05.07.2016 08:21

Не правильно устанавливаете попробуйте так.

$(".tbl-options").on("click", "td", function(eo) {alert('!!!');});

maxapet 05.07.2016 08:22

Спасибо за совет. Оказалось, что версия jQuery слишком старая.

dd_smol 05.07.2016 08:30

ну так то да метод on появился если не ошибаюсь с версией 1.7 ... но все равно что устанавливались события на вновь созданные элементы нужно использовать синтаксис приведенный мной выше.:)

maxapet 05.07.2016 09:54

Да, спасибо. Так и сделал, и всё работает.


Часовой пояс GMT +3, время: 04:56.