4

Firebug 1.5.4 JavaScriptの警告:イベントの「charCode」プロパティは使用しないでください。keyup値は無意味です。それを無視するには?何か問題はありますか?

警告はjQuery1.4.2keyupおよびkeydownに表示されますが、には表示されませんkeypress。私はそれを変更して修正する必要
があることを読みましたが、それは私にとってはうまくいきません。http://jsfiddle.net/zTevK/2/の 完全なコード例と問題 の私のコードはを使用し、動作しません。event.keyCodeevent.charCodeevent.which

keyupkeypress

  $(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();
  ...
4

3 に答える 3

8

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;
}

これらのコード行の1つがアクセスし、警告が作成されます...イベントハンドラー( jsfiddleに示されているcharCode)で何もする必要はありません...

私が通常使用する「ソリューション」は、JSの警告なしで実行されているだけです(エラーは引き続き表示されます) 警告をオフにする

このメッセージは無視しても問題ありません(を使用しておらずcharCode、実際に使用していると仮定しますwhich

于 2010-06-08T15:44:29.230 に答える
3

これは、Mozillaコードから出てくる非常に一般的なエラーメッセージです。このメッセージはキーストロークごとに表示され、エラーコンソールを開いているとパフォーマンスの問題が発生する可能性があります。私はこれと同様のメッセージについてmozillaに何の効果もないと不平を言いました。jjb

于 2010-06-08T15:25:30.143 に答える
0

ソース jquery-1.XXjs で charCode -> XcharCode を変更しようとすると、すべて正常に動作します

最新バージョン 1.4.4 では、「4」回発生しています...

于 2010-12-15T18:08:54.557 に答える