これらのイベントを使用してフォーム入力を評価しようとしていますが、フォームがブラウザによって自動入力された場合、これらのイベントは発生しません。オートフィルでイベントを発生させるにはどうしたらいいですか?Jquery .keyup .keydown .keypressブラウザの自動入力を検出しない
答えて
残念ながら、ブラウザの自動入力を検出する方法はありません。代わりに、たとえば、元の値(または空)が入力値と一致するかどうかをチェックし、そのように応答をトリガーするかなり高い頻度で関数を実行するには、setInterval
を使用します。あなたがそれをしたくなければ、ブラウザは.change
をトリガーさえしないので、あなたはおそらくSOLです。そして、どのイベントもブラウザ間で互換性がない可能性が高いです。
また、妥当性検査イベントをフォーム送信時に実行させることもできますが、これも同様に有効です。
yea on submissionテクニックの問題は、コンテンツの検証に基づいて入力枠の色を変更しているため、変更されるたびにイベントが発生する必要があります –
.click()
イベントおよび/または.dblclick()
イベントにバインドすることで、希望の動作を少し偽装できます。
これは保証されていませんが、ボックスからオートコンプリートを選択して承認すると、余分なマウスクリックが発生する可能性があります。
私はそれがかなり古い質問だと知っていますが、私はe.preventDefault()を使って同じ問題をkeyup関数の後に解決しました。
$("#email").keyup(function (e) {
e.preventDefault();
このように、ブラウザの自動入力による候補を入力すると、このように表示されます。提案でマウスをクリックしても問題は残りますが、選択した後でいずれかのキーを押すと問題なく動作します。
FINAL私はstackoverflowの上で、この記事を見つけました
SOLUTION:https://stackoverflow.com/a/24746108/3481005
と.on使用して( "入力")は、トリックを行います!
$("#email").on("input",function (e) {
- 1. jQuery "keyup" vs "keydown" vs "keypress"
- 2. Jquery keypress keydownエラー
- 3. jQuery keypressイベント&ライブで検索入力が無効になる
- 4. keypressとkeyupの組み合わせ - jQuery
- 5. ブラウザの自動入力
- 6. javascript event.keyCodeは、FireFox 3.6.25のkeydown、keypress、keyupイベントでは機能しません。
- 7. KeyDown/KeyPress and Indexing
- 8. Pygame:同時にKEYDOWNとKEYUPが同時に起動しない
- 9. ブラウザ自動入力機能がJSイベントをトリガーしない
- 10. バックボーン・ビューでは、keypress/keyup/keydownイベントは入力だけで動作し、他の要素では動作しませんか?
- 11. keypress/keyup/keydownイベントの前に貼り付けイベントをトリガーする方法
- 12. Jquery ajax php validationとkeypress 'を入力してください
- 13. jQuery - keyPress()、keyUp()が2秒間機能する()
- 14. jQueryでkeyupでフォーム入力を検証する
- 15. 自動入力フォームのjQuery機能?
- 16. KeyPressイベントブロックDataGridViewのKeyUpイベント.net
- 17. jqueryのkeyup、keypress、およびonblurイベントを結合します。
- 18. jQueryのkeyUpイベント - 見えない第二の入力
- 19. jqueryの自動入力
- 20. 時間入力のテキスト入力keyupイベント
- 21. なぜDateTimePickerは、タブキーでkeyDownイベントとKeyPressイベントをトリガーしないのですか?
- 22. フォームを提出しないクロム自動入力
- 23. jQueryと入力keydownイベントでの問題
- 24. Vaadin:MouseDown/MouseUpとKeyDown/KeyUp evens
- 25. Keydownとkeyupイベントリスナーが正常に動作しています
- 26. KeydownイベントJqueryノードjs?
- 27. NG-のキー押下、NG-からkeyup、NG-のKeyDown
- 28. jQueryの - 最小/最大正しい入力からkeyup
- 29. 特定のキーのkeydown + keyupイベント
- 30. keydownとkeyupイベントトリガーが無効になっている場合、他のkeypressイベントはIEとMozillaではなくChromeで動作します
私はこれまでにこれを研究しましたが、できるとは思わないが、ブラウザの自動入力のイベントはありません。しかし、どんな答えにも興味があります:) –
何をやっているのか正確に分からないと、 '.change()'イベントハンドラも追加できますか?私は正直なところ、たとえそのイベントがブラウザの自動入力でも発生するかどうかはわかりません。 – jaredhoyt
私はJaredが提案したように '.change()'を試してみましたが、うまくいかない場合は '.blur()'を使わなければならないかもしれません。 – nnnnnn