Chrome(55.x)では、ユーザーが入力に不一致タイプを入力しようとしました(私の場合は数字入力)。ユーザビリティを向上させるために、ポップアップを表示して、入力が「壊れている」と思うよりもむしろ無効なデータを入力しようとしていることを知らせるようにしたいと考えています。入力フィールドに間違ったタイプが入力された場合、Chromeにメッセージを表示します。
これは、簡単にFFで純粋なJSで達成(不一致のタイプを入力することを可能にする、それだけで有効ではありません)されています
input.addEventListener('input', function() {
if (!this.checkValidity()) {
this.value = '';
console.log('please enter a number!');
}
}
クロムが、しかし、有効性を実際に入力されていない何もしないので入力が空であるため、チェックは常にパスします。間違った入力を無視する以外は何もしないように見えます。
この動作を無効にする方法はありますか、そうでなければ意図した効果を達成できますか?
私はこの方法と考えられるが、それはかなり厄介得ることができるようにそれを割り引いたのだ - あなたが削除考慮に入れており、バックスペースだけでなく、入力フィールド上で操作することができます任意のキーボードショートカット。素敵でシンプルな関数の代わりに、複雑なコードですばやく終わることができます。私はあなたの答えに感謝しますが(それは私のコードよりもエレガントです)、それがデフォルトの振る舞いの中から選択するなら、私は怠惰なオプションをとるつもりです。 ;) – chrBrd