背景:
我正在编写一个脚本(在 VBA 中,如果重要的话)将数据输入到基于 Web 的系统中。某些系统的验证仅在关注某个字段时运行,因此我一直在调用.Focus
VBA 中的字段以强制它运行。但这会窃取全系统的关注点;如果我在工作运行时做任何其他事情,那会很烦人。
我希望在不窃取焦点的情况下触发验证。所以我试图直接调用注册到输入字段的任何事件处理程序。
问题:
Web 应用程序中的所有事件处理程序都添加了element.attachEvent()
,这意味着没有设置onfocus
和onblur
属性(我相信这是我想要的)。
有没有办法在不诉诸更邪恶的黑客的情况下检索处理程序?
或者,有没有更好的方法来做到这一点而不必找到事件处理程序?我对 JavaScript 很陌生,所以我很容易遗漏一些东西。
编辑: VBA代码可能会窃取焦点是否还有其他原因?我找不到任何其他对.Focus
AutoIt's 的引用WinActivate
,但即使有这里的建议,问题仍然存在。