jQuery - 将动态数据添加到事件绑定中

时间:2012-03-22 21:01:36

标签: jquery events

我有一个如下所示的事件绑定:

$('#form').on('submit', { callback : Obj.method }, FunctionName);

绑定在页面加载时运行,但是,当时没有定义Obj.method - 我原以为它使用了Obj.method的当前值,但它显然使用了它当时的任何值它运行。

有没有办法在事件处理程序触发时确定数据?我在这一点上的猜测是否定的......但是这里的人似乎比我知道得多。

2 个答案:

答案 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();
});