传递函数名称,然后在事件处理程序中使用

Nic*_*ick 4 jquery function event-handling

我想要做的是将函数(X)的名称作为参数传递给函数Y,然后让函数Y创建一个触发函数X的事件处理程序.

我希望函数Y创建以下内容:

$('#form').submit(function(e){e.preventDefault();X();});
Run Code Online (Sandbox Code Playgroud)

我试过了:

var name="X()";
X(name);

function Y(id){
    $('#element').submit(function(e){e.preventDefault();id;});
}
Run Code Online (Sandbox Code Playgroud)

可以预见,这不起作用.(我真的不相信它会!)但是怎么做呢,(1)按照我的方式做,或者(2)将整个X函数wholus-bolus传递给Y?

谢谢.

Jos*_*eph 12

这是一个演示,如果你感到怀疑怀疑态度(听起来更好):D

//create x
function x(){
    alert('im from x');
}

//create y that receives the function
function y(callback){

    //bind your handler which calls callback (which was x)
    $('element').submit(function(){
        callback();
    });
}

//call y that sends over a reference of x
y(x);
Run Code Online (Sandbox Code Playgroud)