Подтвердить что ты не робот

Получить элемент clicked с помощью jQuery в событии?

Я использую следующий код, чтобы определить, когда нажата динамически сгенерированная кнопка.

$(document).on("click",".appDetails", function () {
    alert("test");
});

Обычно, если вы только что сделали $('.appDetails').click(), вы можете использовать $(this), чтобы получить элемент, на который был нажат. Как бы это сделать с приведенным выше кодом?

Например:

$(document).on("click",".appDetails", function () {
    var clickedBtnID = ??????
    alert('you clicked on button #' + clickedBtnID);
});
4b9b3361

Ответ 1

Проще, чем это может быть

Используйте $(this) здесь тоже

$(document).on("click",".appDetails", function () {
   var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id
   alert('you clicked on button #' + clickedBtnID);
});

Ответ 2

В вашей функции отсутствует параметр события.

$(document).on("click",".appDetails", function (event) {
    alert(event.target.id);
});

Ответ 3

Традиционный способ обращения с этим не очень хорошо работает с ES6. Вы можете сделать это вместо:

$('.delete').on('click', event => {
  const clickedElement = $(event.target);

  this.delete(clickedElement.data('id'));
});

Обратите внимание, что целевым объектом будет элемент с щелчком, который может не быть тем элементом, который вы хотите (он может быть дочерним, который получил событие). Чтобы получить фактический элемент:

$('.delete').on('click', event => {
  const clickedElement = $(event.target);
  const targetElement = clickedElement.closest('.delete');

  this.delete(targetElement.data('id'));
});

Ответ 4

        $(document).on("click",".appDetails", function () {
   var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id
   alert('you clicked on button #' + clickedBtnID);
var val_ = $(this).text();
$('p10_test',val_);
});