バックグラウンド:
Web ベースのシステムにデータを入力するためのスクリプトを (VBA で) 書いています。.Focus
システムの検証の一部は、フィールドがフォーカスされている場合にのみ実行されるため、強制的に実行するように VBA でフィールドを呼び出してきました。しかし、それはシステム全体の焦点を奪います。ジョブの実行中に何か他のことをしていると、かなり面倒です。
フォーカスを盗むことなく検証をトリガーしたい。そのため、入力フィールドに登録されているイベントハンドラーを直接呼び出そうとしています。
問題:
Web アプリのすべてのイベント ハンドラーは で追加されますelement.attachEvent()
。これは、onfocus
とonblur
プロパティ (私が必要としていると思われるもの) が設定されていないことを意味します。
さらに邪悪なハックに頼ることなくハンドラーを取得する方法はありますか?
または、イベント ハンドラーを見つけなくてもこれを行うためのより良い方法はありますか? 私は JavaScript にかなり慣れていないので、簡単に何かを見落としている可能性があります。
編集: VBAコードによってフォーカスが盗まれる可能性がある他の理由はありますか? .Focus
AutoIt への他の参照や AutoIt の参照も見つかりませんがWinActivate
、ここでの提案を使用しても、問題は引き続き発生します。