私は、ユーザーがクレジットカード番号、銀行コード番号、2ステップコードなどを入力するためのシステムを構築しました。自動進行を制御する小さなjQueryスクリプトFirefox(45.0.2、他のFFでテストされていないもの)を除いて、maxlengthに達するとほとんどのデバイスとブラウザでうまくいくようです。自動進行入力フィールドはFirefoxで0を削除します
Firefoxでは、入力された「0」が自動的に削除されますが、これは実際の問題です。確かに、私はそこで最も強力なjqueryスクリプタではありませんが、この動作を引き起こすのは私のコード内にあるものは解決できません。
私はここcodepen設定しました:(いくつかのSOスレッドから派生して)私のスクリプトを使用してhttp://codepen.io/anon/pen/ZWxYag
を:
var $single_degit = $('input.singleDigit');
$single_degit.keyup(function (e) {
var $elm = $(this);
if (e.which == 8) {
//backspace
$elm.prevAll($single_degit).first().focus();
} else if ((e.which > 47 && e.which < 58) || (e.which > 96 && e.which < 106)) {
$elm.next($single_degit).focus();
} else {
$elm.val('');
return false;
}
});
は、私が何とかしてこの動作を書かれていますか?または私はバグを経験していますか?ありがとう!
迅速な対応をいただきありがとうございます。 –
あなたの脳をさらに@ Nasapc123で選ぶのは申し訳ありませんが、アンドロイドのブラウザが数字を入力するのを完全に防ぐスクリプトの問題がありますか?キーボードマッピングがソフトキーボードと一致しないのだろうか? –
更新されたcodepenを含めるように私の答えを編集しました。これはクロスプラットフォームで動作し、キーコード0または229のみを返す問題に遭遇し、ユーザーがフィールドに貼り付けるなどのイベントを処理する必要があります。 – JaanRaadik