Jquery click bind не работает во второй раз
4243 просмотра
1 ответ
у меня странное поведение с a
и с img
тегом внутри.
У меня есть страница php с таблицей, которая представляет собой список записей. В конце каждой строки у меня есть кнопка для удаления строки.
Это код моей таблицы:
<div class='edit' >
<a id='20' href='#' return;>
<img src='images/edit.png' />
</a>
</div>
Каждая запись, каждая строка главной таблицы имеет код выше, с разными идентификаторами друг друга.
Мой код скрипта:
$("#delete a").click(function(e) {
e.preventDefault();
$('#action').val("delete");
$('#keyAction').val(this.id);
$.ajax({
type: "POST",
url: "processAttivita.php",
data: $("#attivita_form").serialize(),
error: function(msg) {
$("#errore").html(msg);
},
success: function(msg) {
// display the errors returned by server side validation (if any)
ricaricaLista();
}
});
// end click delete event
});
Первая строка, которую я пытаюсь удалить, нажав на изображение, работает нормально. Во втором случае кажется, что jquery не связывает событие «щелчка», и a
возникает href элемента по умолчанию , который остается на той же странице из-за «#» в атрибуте href.
Есть идеи, почему второй раз jquery не перехватывает щелчок по <a>
элементу?
Ответы (1)
5 плюса
Вы используете селектор идентификатора, #delete a
который будет соответствовать только одному (обычно первому) элементу.
Попробуйте использовать класс, например .delete a
.
Причина, по которой вы получаете только один элемент, заключается в том, что JQuery оптимизирует любой селектор, который начинается с #
проходов до document.getElementById
, который возвращает только 1 элемент.
Вот пример того, как использовать делегирование событий для достижения того же:
$("#tableid").click(".delete a", function(e) {
// your code
});
Ваш html должен иметь идентификатор на вашей таблице и давать class="delete"
контейнер ваших ссылок для удаления.
Вопросы из категории :
- jquery Прокрутка переполненных DIV с помощью JavaScript
- jquery Экранирование строк HTML с помощью jQuery
- jquery Как сравнить HTML-сущность с JQuery
- jquery Есть ли функция "существует" для jQuery?
- jquery Как удалить все параметры в окне выбора, а затем добавить один вариант и выбрать его с помощью jQuery?
- click Нажатие гиперссылок в RichTextBox без удерживания клавиши CTRL - WPF
- click Получить событие click на элементе menu с подпунктами (C #)
- click HTML-оверлей, который позволяет кликам переходить к элементам позади него
- click Добавить параметр в событие нажатия кнопки
- click Системный трей notifyIcon не принимает событие левого клика
- bind jQuery Event Keypress: какая клавиша была нажата?
- bind Как связать событие onclick с динамически добавленным элементом HTML
- bind Использование метода привязки JavaScript
- bind Как связать аргументы mysqli bind_param динамически в PHP?
- bind Использование cbind для произвольно длинного списка объектов
- href Какое значение "href" я должен использовать для ссылок JavaScript, "#" или "javascript: void (0)"?
- href Функция JavaScript в href vs. onclick
- href href = "#" перенаправляет на страницу индекса, но не на верхнюю часть текущей страницы
- href Ссылка на изображение href скачать по клику
- href Та же ссылка на страницу в письме