我有一个名为
monitoring()
的函数,如这个 fiddle 中所示。我的问题是,如果我想调用该函数,我可以简单地这样做吗?
$('#status_table #monitor_'+rowID).change(monitoring(rowID));
我的逻辑是,当复选框的状态(
#monitor_'+rowID
是复选框ID)改变时,该函数将被调用。
因为我想知道该函数是否正在被调用,所以我做了如下附加:
$('#test').append(fbType + fbNum);
但是它在 div #test 中没有显示任何 fbType 和 fbNum 的内容。 有人可以指出我应该如何调用该函数或纠正该代码/逻辑中的错误吗?
change
期望对函数有引用,而您当前正在调用它并使用其返回值作为change
的参数——这不是您想要的,因为它不返回函数。
一种选择是创建一个函数生成器,它采用行 ID 并使用返回值作为
change
的参数,大致如下:
function createMonitor(rowId) {
return function() {
// Do something with rowId
};
};
$('#status_table #monitor_'+rowID).change(createMonitor(rowID));
如果不知道
rowID
来自哪里,就很难知道这是否是最好的方法。
您当前的代码将
call
函数monitoring
并将其返回值绑定为事件处理程序,这可能不是您所需要的。
你可以这样做:
$('#status_table #monitor_'+rowID).change(function() {
monitoring(rowID);
});