Добавление обработчика событий при добавлении элементов
У меня 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, время: 19:00. |