如何为jquery .keydown创建函数?

 2021-04-09 

How to create function for jquery .keydown?

$(document).ready(function()
{
var test_func = function(ev)
{
alert(ev.keyCode);
};
....
$(document).keydown(test_func(ev));
});

我想做下一个,如果我按下键盘上的某个按钮,我会看到带有按下的键代码的警报。但我在萤火虫= |

中仅看到"未定义ev"

您对此有何看法?


它应该看起来像这样(调用中没有参数):

1
$(document).keydown(test_func);

该事件将作为第一个参数传递,并且您可以使用ev.which,因为jquery在所有浏览器中都将其标准化:)

当您调用这样的函数时,您希望将函数本身作为事件发生时要调用的函数进行传递,因此请使用method。如果使用method(something),它将尝试立即调用该方法(使用它找不到的变量ev)并将该方法的结果分配为事件处理程序,而不是方法本身。

您还可以使用匿名方法,例如:

1
2
3
4
5
$(function() {
  $(document).keydown(function(e) {
    alert(e.which);
  });
});