如何为jquery .keydown创建函数?

时间:2010-08-17 09:32:39

标签: jquery

(文档)$。就绪(()的函数     {         var test_func = function(ev)         {             警报(ev.keyCode);         };          ....         (文档)$ .keydown(test_func(EV));     });

我想做下一个,如果我按下键盘上的某些按钮,我会看到警告,我按下了一个按键代码。但我发现在我的firebug = |

中只有“ev未定义”

您如何看待这个?

1 个答案:

答案 0 :(得分:3)

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

$(document).keydown(test_func);

该事件将作为第一个参数传递,您可以使用ev.which,因为jquery会在浏览器中对此进行规范化处理:)

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

您也可以使用匿名方法,如下所示:

$(function() {
  $(document).keydown(function(e) {
    alert(e.which);
  });
});