Добавление обработчика событий при добавлении элементов
У меня ajax ом добавляются элементы и на них я добавляю обработчики событий необходимые.Но появилось проблема в одном обработчике
После появления элементов добавленных ajax добавляются события к ним,но к старым аналогичным элементам это событие перестает работать, или как-то не корректно, то в некоторых местах работает, то нет, хотя копировал копипастом.:cray: |
Размести пожалуйста JS код. Так никто тебе ничем не поможет, нужно видеть как ты там добавляешь обработчики и как добавляются у тебя новые элементы.
можно ведь еще в самом HTML коде в файле PHP обработчике AJAX запроса вписывать у нужных элементов типа onclick="" и т.п. |
вот сам обработчик
$(".person .person-control p,.person .person-control p.meny").click(function(){ if($(this).attr("rel") != 'profil' && $(this).attr("rel") != 'close') { var $homeDiv = $(this).parent().parent().parent(); $homeDiv.addClass("active"); if(!$homeDiv.is(".foto")) { if(!$(this).is(".active")) { $(".hidden-box").hide(); $(".person").removeClass("active"); $homeDiv.addClass("active"); $(".person .person-control a").removeClass("active"); $("div.v"+$(this).attr("rel"), $homeDiv).slideDown(100); $(this).addClass("active"); } else { $("div.v"+$(this).attr("rel"), $homeDiv).hide(); $(this).removeClass("active"); } } else { if(!$(this).is(".active")) { $(".hidden-box").hide(); $(".person").removeClass("active"); $homeDiv.addClass("active"); $(".person .person-control a").removeClass("active"); $("div.v"+$(this).attr("rel"), $homeDiv).slideDown(100); $(this).addClass("active"); } else { $homeDiv.removeClass("active"); $("div.v"+$(this).attr("rel"), $homeDiv).hide(); $(this).removeClass("active"); } } } return true;//было false и поэтому по ссылкам не ходило }); аналогичный код ,копипастом я вставил в ajax в success. Другие обработчики тоже вставленные нормально работают,а этот нет |
Странно что не работает, но пока решил через live(т.е. click заменил на live)и всё работает
|
Часовой пояс GMT +3, время: 08:05. |