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