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.