jQueryでぼかし関数を書いたページにテキストボックスがあります。
ユーザーがウィンドウを最小化し、その時間のフォーカスがそのボックスにあるときに呼び出されたくありません。
2 に答える
これを行う唯一の方法は、フォーカスがどのように失われても正しいことを行うように、単純に作成するよりも多くの作業を行うことです。基本的に、フォーカスが失われたときではなく、元の要素がフォーカスを持った後にページ上の別の要素がフォーカスを取得したときにアクションを実行するように、それを書き直す必要があります。最小化ボタンはページの一部ではないため、ボタンが展開されて別の要素がフォーカスされるまで、イベントはトリガーされません。この 1 つの要件を処理するためだけに、コードが非常に複雑になる可能性があります。
標準的な方法として、別の要素をクリックする、ウィンドウを最小化する、別のウィンドウに移動するなど、フォーム フィールドから離れると、フィールドがぼかしイベントを受け取ります。ユーザーが期待することなので、常に考慮に入れる必要があります。
ユーザーがフィールドから別のフィールドに移動したときだけを気にする場合は、検証ルーチンを次の要素のフォーカス イベントにアタッチできます。
例: ログイン/サインアップ フォームでユーザー名を検証している場合、パスワード フィールドがフォーカスを受け取ったときに検証関数を呼び出すことができます。
これはおそらくベスト プラクティスではありませんが、希望どおりに動作するはずです。