如何使用参数调用javascript委托?

如何使用参数调用javascript委托?,javascript,Javascript,假设我有一个javascript函数调用moveItem,它接受两个参数source和destination 我想为这个函数分配几个按钮的点击事件,每个按钮都有不同的源和目标 好的,如果没有参数,我会这样做: $('#myButton1').click(moveItem); function moveItem() { ... } function moveItem(source, destination) { ... } 但如果moveItem看起来是这样的呢: $('#myButton1

假设我有一个javascript函数调用moveItem,它接受两个参数source和destination

我想为这个函数分配几个按钮的点击事件,每个按钮都有不同的源和目标

好的,如果没有参数,我会这样做:

$('#myButton1').click(moveItem);

function moveItem() {
...
}
function moveItem(source, destination) {
...
}
但如果moveItem看起来是这样的呢:

$('#myButton1').click(moveItem);

function moveItem() {
...
}
function moveItem(source, destination) {
...
}
这似乎不起作用:

$('#myButton1').click(moveItem('foo','bar'));

你不能完全随心所欲。您必须使用匿名函数调用
moveItem

$('#myButton1').click(function(){ moveItem('foo','bar'); };
为事件注册函数时,函数签名必须与支持的签名之一匹配(因为click函数中的代码正在调用处理程序)。由于
moveItem
不匹配,您必须将其包装在一个匹配的匿名函数中。

您想做什么

$('#myButton1').click(function() {moveItem('foo','bar')});