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

标签 jquery function event-handling

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

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

$('#form').submit(function(e){e.preventDefault();X();});

我已经尝试过:

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

function Y(id){
    $('#element').submit(function(e){e.preventDefault();id;});
}

不出所料,这不起作用。 (我真的不相信它会!)但是如何才能做到这一点,要么(1)按照我的方式做,要么(2)将整个 X 函数 wholus-bolus 传递到 Y 中?

谢谢。

最佳答案

here's a demo if you feel doubtful skeptical (sounds better) :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);

关于jquery - 传递函数名称,然后在事件处理程序中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10137506/

相关文章:

javascript - 如何在iOS中绑定(bind)点击事件?

r - 编写创建列的 R 函数

c# - 将我自己的参数发送给事件处理程序?

c# - 避免在 C# 中重复订阅事件

event-handling - 使用 .on() 附加到文档时无法删除特定事件处理程序

jquery - 数据表:导出到 CSV、EXCEL 时隐藏单元格内的值

javascript - 无法编辑 Bootstrap Carousel js

javascript - Bootstrap 博客修复了侧边栏问题

function - 以下涉及 Go 中 channel 的函数参数有什么区别?

javascript - innerHtml 前置文本而不是追加