samoilenkoevgeniy
@samoilenkoevgeniy
Lead Full-Stack Web Developer

Почему не работает jquery на добавленных элементах?

Есть вот такой код, вкратце, он по нажатию он показывает 2 разные формы, для юр. лиц и для физ. лиц.
var ur = $("#payUr"),
      phys = $("#payPhys");

        phys.click(function (){
            $(".form").html("Тут элемент с идентификатором");
            ur.css("opacity","1");
            $(this).css("opacity","0.2");
        });

        ur.click(function (){
            $(".form").html("Тут элемент с идентификатором");
            phys.css("opacity","1");
            $(this).css("opacity","0.2");
        });


Собственно, проблема в том, что новые сгенерированные элементы не откликаются по такому вызову
$("#добавленного элемента").click(function(){ // тут какое-то действие });


Весь код запускается после загрузки страницы:
jQuery(document).ready(function($){}));
  • Вопрос задан
  • 3545 просмотров
Решения вопроса 1
используйте делегирование $( elements ).delegate( "#добавленного элемента", "click", function(){});
подробнее тут api.jquery.com/delegate
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@artishok
кратко
Ответ написан
Комментировать
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
этот вопрос надо в faq на тостере добавлять )
Ответ написан
Piranis
@Piranis
Вообще на stackoverflow хорошо stackoverflow.com/questions/4579117/jquery-live-vs...
Ответ написан
Комментировать
CodeByZen
@CodeByZen
php, js, my/mssql, sqlite, html, css, it-consult
Я может и криво делаю, но мне так удобнее. Я создаю функу в которой описываю все бинды, а после ajax вызываю ее еще раз.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы