CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » AJAX + JQuery.On
Официальный форум Eleanor CMS » Для вебмастеров и владельцев сайтов » Комната программистов
wormen
Подскажите, кто как вешает обработчик на динамически созданные элементы...
Исходя из документации у JQuery для динамических элементов есть метод .on(), код выглядит тогда примерно так

$('ul').on('click', 'li', function(){ // обработчик ...
или
$('ul li').on('click', function(){ // обработчик ....

но у меня он почему-то не срабатывает, событие click не срабатывает как не мудри..... кто с таким уже сталкивался?
Alexander
Цитата (wormen @ 2024-04-26 17:04)
$('ul').on('click', 'li', function(){ // обработчик ...

Этот код повесит обработчик для все существующие ul, когда клик приходится на любой li внутри. Т.е. на момент вызова этого кода ul-ы уже должны существовать, а вот li уже могут быть динамическими.

Цитата (wormen @ 2024-04-26 17:04)
$('ul li').on('click', function(){ // обработчик ...

Этот же код повесит обработчик на все существующие li. В отличии от предыдущего кода, здесь вообще не допускается какая-либо динамика: и ul и li должны существовать на момент вызова кода.

Мне кажется проблема в том, что у тебя динамические не только li, но и ul. Посему, воспользуйся кодом:
$(document).on('click', 'ul li', function(){ // обработчик ...
wormen
этот код из доков, у меня немного другой, но суть та же самая, элементы который подгружаются на ajax,  не удается прицепить к обработчику, по всякому уже пробовал.... не обрабатывается click и все...
wormen
Все оказалось гораздо проще чем я изначально думал....установил на родительский элемент куда у меня подгружается контент событие которое срабатывает при наведении мыши, а далее все элементарно.... 


$("#support-main-wrap").hover(function(){//родительский элемент подгрузки ajax

        $(this).find(".otvet").click(function(){ //находим элемент и присваиваем обработчик
        alert("ok");
        return false;
        });

        return false; // на всякий случай...
});
Alexander
Цитата (wormen @ 2024-04-26 17:04)
а далее все элементарно....

Получился говнокод. Есть ли у тебя понимание того, что делает метод hover?
wormen
конечно, я вкурсе что там получилось, в порядок не долго привести, главное суть
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.