繁体   English   中英

通过变量将函数传递给另一个函数以将其绑定为jQuery click事件

[英]Pass a function by variable to another function to be bound as a jQuery click event

我试图通过一个变量传递一个函数,以将其分配为click事件的一部分,例如:

function bindClick(func) {
    $('#button').click(function() {
        func();
        return false;
    });
}

function configureClick() {
    bindClick(function () { executeClick(message); });
}

function executeClick(message) {
    alert(message);
}

所以configureClick()将在某个时候运行,然后#button.click()需要调用func的内容。

无论发生什么事,它都在默默地这样做,没有错误也没有预期的行为。

更新 :我是个白痴! 上面的代码正在工作。 我的executeClick有一个switch-case块,当我传递不正确的密钥时,该块被忽略了。 对不起,麻烦D:

您过多地传递了回调函数。 这会创建大量的闭包,在这种简单的情况下不需要。

function bindClick(func) {
    $('#button').click(function() {
        func();
        return false;
    });
}


function executeClick(message) {
    alert(message);
}

function configureClick(message){
    bindClick(function(){ executeClick(message) });
}

configureClick('Hello');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM