【发布时间】:2015-11-11 10:13:57
【问题描述】:
我的代码工作(代码测试)使用闭包来添加我的日历的点击事件项目。如果用户点击一天,代码会在表格 id myTable(数据表插件)中添加一行
$dowElement.addClass('event-clickable');
$('#' + id).click(function(){
$('#myTable').dataTable().fnAddData([
giCount+ ".1",
giCount+ ".2",
giCount+ ".3",
giCount+ ".4"
]);
giCount++;
});
尝试重构以使用函数,但不起作用。
$dowElement.addClass('event-clickable');
$('#' + id).click(jsonToTable()); // No work and broke calendar
也试试
$dowElement.addClass('event-clickable');
$('#' + id).click(function(){
jsonToTable();
});
第一次回答后(编辑)如果点击无效,但显示带有事件的日历。
$dowElement.addClass('event-clickable');
$('#' + id).click(jsonToTable);
很明显,我不明白使用 javascript 的某些部分。
function jsonToTable() {
$('#myTable').dataTable().fnAddData([
giCount+ ".1",
giCount+ ".2",
giCount+ ".3",
giCount+ ".4"
]);
giCount++;
}
【问题讨论】:
-
使用
$('#' + id).click(jsonToTable);。使用函数引用,而不是调用它。
标签: javascript jquery refactoring closures