简体   繁体   中英

Not getting event arguments in IHTMLElement event handler

I've added a callback to an IHTMLElement instance but when the IDispatch::Invoke is called for the event, there are never any arguments (ie the pDispParams->cArgs and pDispParams->cNamedArgs are always 0). For example, I add a callback for an onmouseup event. From what I can tell, a callback for this event is supposed to receive a MouseEvent object. Is that correct? If so, what do I need to do to ensure this happens?

This is using the MSHTML for IE 6 sp2 (or better) on Windows XP SP2.

Events arguments for all DOM events including onmouseup are stored in the parent window's event property ( IHTMLWindow2::event )

If you don't already have the parent window cached, IHTMLElement has a document property which returns an IHTMLDocument interface. From that you can query for IHTMLDocument2 which has a parentWindow property. The IHTMLWindow2 that is returned has the event property you're looking for. You should be able to query for the event interface from there.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM