我使用以下函数动态地向表中添加行。在一行中单击该表消失,并生成另一个div并动态填充。这一切都在2个小时前完美地工作,突然间没有我改变它停止的任何代码。我不确定以下代码是否足以让某人给我一个答案,但有没有人看到任何特殊原因这会突然停止工作?
var setupProjectListTable = function (ipProject, table, tableContainer) {
$('#' + table + ' tr').hover(function() {
$(this).addClass('hover');
}, function() {
$(this).removeClass('hover');
});
var title = ipProject.getTitle();
var desc = ipProject.getDesc();
var applicableDegrees = ipProject.getApplicableDegreeList();
var keywordList = ipProject.getKeywordList();
$('#' + table + ' tbody').append(
'<tr id = "' + title + '">' +
'<td>' + title + '</td>' +
'<td>' + desc + '</td>' +
'<td>' + applicableDegrees + '</td>' +
'<td>' + keywordList + '</td></tr>'
);
$("#" + title).click( function(e) {
e.preventDefault();
$('#' + tableContainer).hide();
generateProjectDetails(ipProject);
});
};
答案 0 :(得分:1)
很简单。 click()
仅影响现有元素,但不影响添加的元素。
所以请使用on()
:
$("tbody").on('click', '#' + title, function(e) {
e.preventDefault();
$('#' + tableContainer).hide();
generateProjectDetails(ipProject);
});