Firebug 1.5.4 JavaScript warning : The 'charCode' property of akeyup
event should not be used. The value is meaningless. To ignore it? Is there any issue?
The warning appears to jQuery 1.4.2 keyup
andkeydown
, not onkeypress
.
I have read that on changingevent.keyCode
andevent.charCode
toevent.which
must fix it, but it does not work for me.
Full code example in http://jsfiddle.net/zTevK/2/ and in question
My code useskeyup
and does not work withkeypress
.
$(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();
...
The jQuery code itself normalizes every event in 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;
}
One of these lines of code is going to access charCode
, which in turn creates your warning... You don't even need to do anything in your event handler (illustrated on jsfiddle)...
The "solution" I usually end up using is just running without JS warnings (errors still show up)
You can safely ignore this message (assuming you aren't using charCode
, and are indeed using which
)