ユーザーがキーボードの文字「]
」を選択したときに検出する必要があります。「dom」に]
という文字を返します。keyCodeの検出に間違った値があります
私の問題は、次のとおりです。
イベントがinput
要素またはdocument
から返された場合event.keyCode
によって返された値が異なっています。 event.keyCodeを::93 - に、String.fromCharCode:クロームバージョン55.0
私が入力を得る上で、次の問題をテストする。また
]
私はドキュメントの取得: イベントを。 keyCode:221 - に、String.fromCharCode:Ý
とFirefox 50.1.0
I上入力のために得る: event.keyCode:0 - に、String.fromCharCode:
私はドキュメントの取得: event.keyCode:221 - に、String.fromCharCode:私が知っておく必要があるだろうÝ
:
-
を
- 私のコードで何が問題になっていますか?
- 同じ値を持つ一貫した方法は何ですか?
注:私はENG United Stateの国際キーボードを使用しています(関連性がありますか?)。
var input = document.getElementById('input');
var result = document.getElementById('result');
input.addEventListener('keypress', function(event) {
result.innerHTML = `event.keyCode: ${event.keyCode} - String.fromCharCode: ${String.fromCharCode(event.keyCode)}`;
});
var resultDocument = document.getElementById('resultDocument');
document.addEventListener('keydown', function(event){
resultDocument.innerHTML = `event.keyCode: ${event.keyCode} - String.fromCharCode: ${String.fromCharCode(event.keyCode)}`;
});
<input id="input" type="text" size="40">
<div id="result"></div>
<h1>On document</h1>
<div id="resultDocument"></div>
これは、その文字を取得するために、Macでは 'fn' +' option' + '9'とコンピュータ上では' AltGr' + '9'(正しく覚えていれば)を押す必要があります。 'Fn'、' option'、 'AltGr'はjavascriptのkeypressesとして登録されていません。残念ながら、私はこの瞬間の価値を得るための明確な方法を提供することはできません。 – junkfoodjunkie