2015-10-28 35 views
0

我有一个动态创建一些元素的模块。由于它们是动态创建的,我使用的是静态元素包含动态创建的元素,像这样$('#data-container)有绑定的事件:使用揭示模块模式从动态元素获取元素ID

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); 
} 

回答

1

您可以从event参数中获取ID。尝试这个。该事件应始终包含哪个目标被点击。

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

太棒了!谢谢! – dericcain