我有一个如下所示的事件绑定:
$('#form').on('submit', { callback : Obj.method }, FunctionName);
绑定在页面加载时运行,但是,当时没有定义Obj.method - 我原以为它使用了Obj.method的当前值,但它显然使用了它当时的任何值它运行。
有没有办法在事件处理程序触发时确定数据?我在这一点上的猜测是否定的......但是这里的人似乎比我知道得多。
答案 0 :(得分:2)
使用函数包装回调函数,直到回调触发它才会运行。
$('#form').on('submit', {
callback : function() {
Obj.method();
}
}, FunctionName);
答案 1 :(得分:1)
如果它是在事件处理程序触发时存在的变量,并且您希望它被评估,那么您可以直接从处理函数引用它:
$('#form').on('submit', function(e) {
FunctionName(Obj.method);
});
或者,如果您只是想直接调用它:
$('#form').on('submit', function(e) {
Obj.method();
});