JavaScriptを使用してWebサイトを作成しています。JS 部分の目的は、独自のキーボード ハンドラーを特定のテキスト フィールドにアタッチすることです。問題を次のフィドルのような単純なコードに絞り込むことができました:
http://jsfiddle.net/k9s3n/1/ Firefox、Opera、および Chrome では、3 つのフィールドのいずれか
に
文字を入力すると、アラート ボックスが表示されます。キーコード付き。ただし、Internet Explorer (私の場合は IE8、私が通常サポートする最も低いバージョン) では、適切にしか機能しません。つまり、キーを放したときにダイアログ ボックスを表示する唯一のフィールドです。他の 2 つのボックスに入力しようとしても結果は得られず、コンソールにエラーが記録されるだけです(エラー メッセージが正しいかどうかわからないので、母国語から翻訳しました)。input3
keyCode is null or isn't an object
ブラウザーに関係なく、3 番目のソリューションのみが機能するようですが、私のシナリオでは、最初のソリューションまたは 2 番目のソリューションを使用する必要があります。
さらに調査するために別のフィドルを作成しました:
http://jsfiddle.net/bSdaJ/
両方のボタンをクリックすると、メッセージ ボックスが表示されます。Firefox、Opera、および Chrome では、ボックスに「[object MouseEvent]」と表示されますが、IE では「未定義」と表示されます。
それについて私は何ができますか?事前に助けてくれてありがとう。
PS最初のフィドルで示されているように、インラインイベント処理を使用するとすべて正常に動作します。ただし、このプロジェクトでの私の目標は HTML と JS を完全に分離することなので、それを使用することはできません。友人のためにやっているのですが、HTML 部分をプレーンで明確なマークアップ コードにしたいと考えています。