通过HTTP加载外部HTML时DHTML_EVENT_ONCLICK不起作用?

DHTML_EVENT_ONCLICK doesn't work when loading external HTML via HTTP?

本文关键字:EVENT ONCLICK 不起作用 DHTML HTTP 加载 外部 HTML 通过      更新时间:2023-10-16

我需要处理 CDhtmlDialog 中一个元素的 onclick 事件,该元素使用 HTTP 协议(而不是来自资源的 HTML)加载外部 HTML 文件。我使用以下代码:

BEGIN_DHTML_EVENT_MAP(CAdDialog)
    DHTML_EVENT_ONCLICK(_T("adlink"), OnAnchorClicked)
END_DHTML_EVENT_MAP()

我的 A 元素 HTML 如下:

<a href="http://www.google.com/" id="adlink">Click here!!!</a>

我希望CDhtmlDialog会在用户点击链接时调用OnAnchorClicked函数。但是,什么也没发生。看起来DHTML_EVENT_ONCLICK如果它加载外部 URL 而不是加载资源,它不适用于 CDhtmlDialog?有没有办法在CDhtmlDialog中捕获通过HTTP加载的HTML的onclick事件?

DHTML_EVENT_TAG(DISPID_HTMLELEMENTEVENTS_ONCLICK, _T("a"), OnLinkClickedMethod)

这真是个痛头。Microsoft的调度ID文档很糟糕。这将捕获在您的CDHtmlDialog中单击的每个链接。

给所有未来任性的旅行者的注意事项:所有调度 ID 都在 MsHtmdid.h 头文件中。