入力フィールドが変更(変更)されると、関数をトリガーして変数を設定します。唯一の問題は、変数が設定される前にフィールドが最初にフォーカスを失う必要があり、フィールドが変更されたかどうかを確認できることです。これは、ユーザーがタブをクリックしたときに行うことで、ユーザーは前のタブでフォームを送信するのを忘れています。強制的にすべての可能なフィールドのフォーカスを失うため、最初にonchange
イベントが発生しますか?
これを使用できます:
$(':focus').blur()
サイトにjQueryがない場合は、次のように置き換えることができます。
let el = document.querySelector( ':focus' );
if( el ) el.blur();
これにはjQueryは必要ありません。 vanillaJSもこれを行うことができます。
document.activeElement.blur();
注:通常、メソッドを呼び出す前にnull-nessをチェックしますが、 activeElement
は‹body›
ノードがない場合にのみnullを返すため、この直接呼び出しはかなり安全です。
.blur()
イベントをトリガーできます
$('SomeElement').blur(function () {
// do whatever
});
$('SomeElement').blur();