に私はASP.Netに取り組んでいない、私は次の関数を含むJavaScriptファイルへのリンクを持つWebフォームを持っている:JavaScript検証はクロームで動作しますが、Firefoxの
$(".string").keydown(function (e) {
var x = (e.charCode) ? e.charCode : ((e.which) ? e.which : e.keyCode);
if ($.inArray(e.keyCode, [46, 8, 27, 16, 13, 32, 192, 9, 209, 241]) !== -1 ||
(e.keyCode == 65 && (e.ctrlKey === true || e.metaKey === true)) ||
(e.keyCode == 67 && (e.ctrlKey === true || e.metaKey === true)) ||
(e.keyCode == 88 && (e.ctrlKey === true || e.metaKey === true)) ||
(e.keyCode >= 35 && e.keyCode <= 39)) {
return;
}
if (e.keyCode < 65 || e.keyCode > 90) {
e.preventDefault();
}
});
これに成功私はChrome上にñn(209,241)文字を入力することができますが、Firefoxではこれを行えません。Firefoxを扱うときはe.which
を使用するべきですが動作しません。私はjavascriptとあまり良くないので、ここで何を理解していないのですか?
を追加するために必要なあなたはFFのデバッガでブレークポイントを設定すると、NとNの文字を押した後e.keyCodeの値を検査しようとしたことがありますか? –
両方の場合で0を返すだけですが、e.key = 'ñ'を認識しているようです - 非常に遅い返信のsoooorry、いくつかの作業が積み重なって – YPZ