window.Event vs window.event

时间:2011-04-11 17:39:54

标签: javascript internet-explorer events javascript-events

由于某种原因,当使用IHTMLElement2.focus()方法调用通过C#代码触发时,onfocus事件不会设置window.event(它将变为null),而是一些其他对象window.Event将设置为活动信息。是否有一个原因?我正在为InternetExplorer使用ShDocVw接口,这是我第一次看到这个问题。

1 个答案:

答案 0 :(得分:1)

听起来像一个典型的微软bug。它们通常会出现区分大小写的问题,因为从操作系统的第一天起它就被视为一种区别。

我建议也许可以查看这篇kb文章http://msdn.microsoft.com/en-us/library/aa703985(v=vs.85).aspx,特别是tabindex hooha听起来像个笑话,但你还能期待什么。

然后我建议尝试IHTMLElement的第四种变体形式,尤其是onfocusin事件作为onfocus的替代品。

但最终因为你通过shdocvw对象来控制环境 - 我只是将window.Event对象映射到你的onfocus处理程序中的window.event对象 - 一行代码永远不会伤害任何人 - 除了那个代码行伤害了堆栈溢出,缓冲区溢出或Out of Memory异常的人当然:D