使用显示模块模式从动态元素获取元素ID

Getting element ID from dynamic element using Revealing Module Pattern

本文关键字:元素 动态 获取 ID 模式 显示 模块      更新时间:2023-09-26

我有一个模块,它动态地创建了一些元素。由于它们是动态创建的,我使用静态元素$('#data-container)来绑定事件,其中包含动态创建的元素,如:

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

Sooo。。。。如果单击了按钮,则无法使用$(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);
}

您可以从事件参数中获取ID。试试这个。事件应始终包含单击的目标。

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