5

我在使用 jQuery 的 Firefox 中收到“不应使用 keydown 事件的 'charCode' 属性。该值没有意义”错误。我的代码如下所示:

$("div#center-box div#empid-textbox input.id").keydown(function(e){
   key = e.which;
   if(key===13){
      //do something;
   };
});

有谁知道如何纠正这个错误?

4

2 回答 2

4

检查http://api.jquery.com/event.which/上的第一条评论

我在 Firefox 3.6.3 中使用 jQuery 1.4.2 时也发现了同样令人讨厌的行为。我的解决方法是从 jquery-1.4.2.js 的第 1956 行的克隆属性列表中删除“charCode”——该列表包含要从浏览器中的原始事件克隆到定制的 jQuery 事件对象的属性更理智。在克隆过程中读取“charcode”属性似乎会触发错误控制台中的警告。如果将 1996-1998 行改为:

if (!event.which && ((originalEvent.charCode || originalEvent.charCode === 0) ? event.charCode : event.keyCode)) {
  event.which = originalEvent.charCode || event.keyCode;
}

即 charCode 属性的更精细的克隆(如果存在)。

于 2010-08-26T12:46:40.577 回答
4

固定的!!!

似乎 FF 不喜欢“keydown”功能......我将其更改为“keypress”,它工作得很好。

于 2010-04-14T16:20:20.217 回答