У меня есть странная проблема с 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. У кого-то есть идея, почему это происходит?
благодаря
Use a delegate for element with class .answerChat
$(document).on("click",".answerChat",function() {
alert("see if clicked");
});
Попробуйте event Deligation
метод event Deligation
методом .on()
like
$('#converastions_list tr:first').on("click", ".answerChat", function() {
alert("clicked");
});
Даже если вы используете .on(), вы не используете формат делегирования событий .on()
.
Событие должно быть привязано к элементу, который уже присутствует в dom при выполнении сценария, и селектор целевых элементов должен проходить как второй параметр.
$('#converastions_list tr:first').on("click", ".answerChat", function() {
alert("clicked");
});
Попробуйте это для динамически созданных элементов,
$(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");
});