Получение идентификатора элемента из динамического элемента с помощью раскрытия шаблона модуля

У меня есть модуль, который создал некоторые элементы динамически. Поскольку они создаются динамически, я связываю события, используя статический элемент $('#data-container) содержит динамически созданные элементы, например, так:

var $dataContainer = $('#data-container');
var $deleteProject = $('.delete-project');
$dataContainer.on('click', $deleteProject, _deleteProject);

Ооо.... я не могу использовать $(this) чтобы получить ID если кнопка, которую я нажал. Контекст #data-container а не фактическая кнопка, которую я нажал. Я должен также добавить, что так, как я могу это сделать? Вот мой полный код для лучшего понимания:

var $dataContainer = $('#data-container'); // Container holding dynamic elements
var $deleteProject = $('.delete-project'); // Delete buttons for elements

$dataContainer.on('click', $deleteProject, _deleteProject);

function _deleteProject(){
  var project = $(this).attr('id'); // Doesn't work
  console.log(project);
}

1 ответ

Решение

Вы можете получить идентификатор из аргумента события. Попробуй это. Событие всегда должно содержать информацию о том, какая цель была нажата.

function _deleteProject(event){
  var id = event.target.id;
  var project = $(this).attr('id'); // Doesn't work
  console.log(project);
}
Другие вопросы по тегам