JQuery 1.7. на не работает должным образом

0

У меня есть странная проблема с jquery.on, у меня есть этот код для добавления новой строки в таблицу:

$('#converastions_list tr:first').after(append_html);

Одна из вещей, которую он добавляет, - это кнопка:

<input id="chat_98" class="answerChat  btn" value="answer" conversation-id="98" rep-email="xxx" type="button">

И я пытаюсь обнаружить щелчок на этой кнопке с помощью: 3

$(".answerChat").on("click",function() {
    alert("clicked");  
});

Это прекрасно работает с кнопками, загружаемыми через PHP, но не работая с кнопками, которые я добавил в JT.

Я использую jquery 1.7. У кого-то есть идея, почему это происходит?

благодаря

  • 0
    Почему бы просто не обновить до jquery 1.10.2? :)
Теги:

4 ответа

1
Лучший ответ
Use a delegate for element with class .answerChat

$(document).on("click",".answerChat",function() {
    alert("see if clicked");  
});
2

Попробуйте event Deligation метод event Deligation методом .on() like

$('#converastions_list tr:first').on("click", ".answerChat", function() {
    alert("clicked");  
});
1

Даже если вы используете .on(), вы не используете формат делегирования событий .on().

Событие должно быть привязано к элементу, который уже присутствует в dom при выполнении сценария, и селектор целевых элементов должен проходить как второй параметр.

$('#converastions_list tr:first').on("click", ".answerChat", function() {
    alert("clicked");  
});
0

Попробуйте это для динамически созданных элементов,

$(document).on("click",".answerChat",function() {
    alert("clicked");  
});

Или напишите click event после appending html например,

$('#converastions_list tr:first').after(append_html);
$(".answerChat").on("click",function() {// add after appending anserChat element
    alert("clicked");  
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню