对jQuery 1.4.2的Firebug JS警告“不应使用keyup事件的’charCode’属性。 这个价值毫无意义。“忽略它?

Firebug 1.5.4 JavaScript警告: 不应使用keyup事件的’charCode’属性。 价值毫无意义。 忽略它? 有什么问题吗?

警告出现在jQuery 1.4.2 keyupkeydown ,而不是在keypress
我已经读过将event.keyCodeevent.which更改为event.which必须修复它,但它对我不起作用。
http://jsfiddle.net/zTevK/2/中的完整代码示例和问题
我的代码使用keyup ,不适用于keypress

  $(document).bind('keyup', function(e){ var key = e.which; if (key > 36 && key < 41) { if (key == 37) { changeTab(-1); } if (key == 38) { changeTab(-imgPerRow); } if (key == 39) { changeTab(+1); } if (key == 40) { changeTab(+imgPerRow); } e.preventDefault(); ... 

jQuery代码本身规范化了jQuery.event.fix每个事件

 // props includes 'charCode' - this will access it for ( var i = this.props.length, prop; i; ) { prop = this.props[ --i ]; event[ prop ] = originalEvent[ prop ]; } // also, later in the same function // Add which for key events if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) { event.which = event.charCode || event.keyCode; } 

其中一行代码将访问charCode ,而charCode又会创建您的警告…您甚至不需要在事件处理程序中执行任何操作( 在jsfiddle上说明 )…

我通常最终使用的“解决方案”只是在没有JS警告的情况下运行(错误仍然显示) 关闭警告http://img8.imageshack.us/img8/5530/screenshot20100608at104.png

您可以安全地忽略此消息(假设您没有使用charCode ,并且确实正在使用which

这是一个非常常见的错误消息,来自mozilla代码。 每次击键都会显示该消息,如果您打开了错误控制台,则可能会导致性能问题。 我向mozilla抱怨这个和类似的消息没有效果。 JJB

尝试在源jquery-1.XXjs中更改charCode – > XcharCode,一切正常

在最新版本1.4.4中有“4”发生…