4

我已经向 IHTMLElement 实例添加了回调,但是当为事件调用 IDispatch::Invoke 时,从来没有任何参数(即 pDispParams->cArgs 和 pDispParams->cNamedArgs 始终为 0)。例如,我为 onmouseup 事件添加回调。据我所知,这个事件的回调应该接收一个 MouseEvent 对象。那是对的吗?如果是这样,我需要做些什么来确保发生这种情况?

这是在 Windows XP SP2 上使用用于 IE 6 sp2(或更好)的 MSHTML。

4

1 回答 1

6

所有 DOM 事件的事件参数包括onmouseup存储在父窗口的event属性 ( IHTMLWindow2::event)

如果您还没有缓存父窗口,IHTMLElement则有一个document返回IHTMLDocument接口的属性。从中您可以查询IHTMLDocument2哪个具有parentWindow属性。IHTMLWindow2返回的具有您要查找的属性event。您应该能够从那里查询事件接口。

于 2008-09-21T06:02:47.337 回答