javascript - 绑定(bind)多个参数的回调函数

标签 javascript jquery bind

我想绑定(bind)到带有多个参数的元素函数。怎样做才是对的?

例如我有函数:

function test(arg1, arg2, arg3) {
    console.log("arg1:", arg1);
    console.log("arg2:", arg2);
    console.log("arg3:", arg3);
}

我想将其绑定(bind)到 ID 为 #btn 的元素,但所有参数都在数组中:

var array = ['Hello', ' my', ' world!'];

我该怎么做?我会尝试这样的事情:

$("#btn").bind("click", array, test);

有什么建议吗?

最佳答案

你可以这样做:

var array = ['Hello', ' my', ' world!'];

$("#btn").bind("click", function() {
  test.apply(null, array);
});

或者使用$.proxy方法添加参数:

$("#btn").bind("click", $.proxy.apply($.proxy, [test, null].concat(array)));

关于javascript - 绑定(bind)多个参数的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24135791/

相关文章:

javascript - 单击事件监听器仅在第二次工作

javascript - 返回到 Ajax 请求之前的滚动位置

javascript - 如何继承 "constructor returns another object"对象

javascript - jquery 和 html5 中的全屏视频轮播

jquery - 使用 JQuery 进行本地化?

php - 保持 LDAP session

javascript - 如何保留文本节点中的空白?

javascript - 如何使用 jQuery 测量元素宽度

multithreading - C++0x 线程和套接字

javascript - 我可以从 JavaScript 中的绑定(bind)函数获取未绑定(bind)函数吗?