私のサイトでは、jQuery 用の Masked Input プラグイン (バージョン: 1.3.1) を使用しています。入力のマスクは次のとおりです。
$('#pan').mask('9999 9999 9999 9?999 999', {placeholder:" "});
これはクレジット カード パン用であるため、数字とスペースのみを使用できます。Android ブラウザーのユーザーが入力をタップすると、キーボードをデジタルに切り替える必要があります。それが彼の仕事です。しかし、1 桁のキーボードを入力すると、「英字」に戻ります。
私は調査を行い、この効果の原因を突き止めました。プラグインの次の行です。
input.val(buffer.join(''));
このプラグインは、ボタンを押すたびに入力の値を完全に書き換えます。
この動作に対処する方法の解決策をアドバイスできる人はいますか? (入力値の書き換え時にキーボードがデフォルトに切り替わらないようにする方法を意味します)
PS すべての電話がこのように動作するわけではありません。また、ブラウザのすべてのバージョンがそうではありません。私のテスト「スタンド」:HUAWEI P2-6011(Androidバージョン4.1.2)
PPS数字のみで機能するため、提案しないでください。ただし、スペースも必要です。パターンを '^[0-9 ]+$' のようなものに切り替えると、問題は解決しません。