我想知道为什么这适用于 jquery 热键:
$(document).bind('keydown', 'm', dothis);
但这不是:
$(document).bind('keydown', 'm', dothis(6));
即使这样也行不通:
$(document).bind('keydown', 'm', dothis());
我想知道为什么这适用于 jquery 热键:
$(document).bind('keydown', 'm', dothis);
但这不是:
$(document).bind('keydown', 'm', dothis(6));
即使这样也行不通:
$(document).bind('keydown', 'm', dothis());
您必须为绑定提供一个函数作为参数。
在第二种和第三种情况下,您将给出一个被评估的函数调用,并将返回的值提供给 keybind 函数 - 大概您没有返回一个函数并且什么都不做。
如果您想从已有的函数中构造一个带有设置参数的新函数,请使用bind:
$(document).bind('keydown', 'm', dothis.bind(null, 6));
您还可以使用咖喱函数。它的函数返回函数。
function doThis (num) {
return function () {
// Do something with num
}
}
$(document).bind('keydown', 'm', dothis(6))