使用显示模块模式从动态元素获取元素 ID
Getting element ID from dynamic element using Revealing Module Pattern
我有一个动态创建一些元素的模块。由于它们是动态创建的,因此我使用包含动态创建元素的静态元素 $('#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);
}
我有一个动态创建一些元素的模块。由于它们是动态创建的,因此我使用包含动态创建元素的静态元素 $('#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);
}