フォーカスイベントがユーザーによって(手動で)トリガされたかどうかを検出しようとしています。フォーカスイベントがユーザー/ブラウザまたはjQueryによってトリガされたかどうかを検出します。
typeof event.originalEvent != "undefined"
残念ながら、それはフォーカスイベントのために異なる動作します。それはclick
イベントに来るとき は、event.originalEvent
が現在の内部ハンドラメソッドであるかどうかを確認することが可能です。 exampleをご確認ください。
最初の<input>
をクリックし、次に2番目の入力の「トリガークリック」ボタンをクリックすると、が存在しないことを意味するclick undefined
が表示されます。 次に、最初の<input>
をクリックしてから、2番目の入力の「トリガーフォーカス」ボタンをクリックすると、focus object
、event.originalEvent
が表示されます。
- フォーカスイベントがユーザーによって(プログラムではなく)トリガーされたかどうかを検出する方法はありますか。
これ多分便利:https://stackoverflow.com/questions/5653332/differentiate-between-キーボードによるフォーカスイベントトリガー – Nayish
特別なイベントを使用できますか? 'blur'のエイリアスとして' custom_blur'を使用していますか? – Martijn
クロム(他のブラウザではテストされていません)では、 "event.originalEvent.sourceCapabilities"はスクリプトからトリガされたときにnullです。 –