【问题标题】:DHTML_EVENT_ONCLICK doesn't work when loading external HTML via HTTP?通过 HTTP 加载外部 HTML 时 DHTML_EVENT_ONCLICK 不起作用?
【发布时间】:2016-06-27 23:10:42
【问题描述】:

我需要为 CDhtmlDialog 中的 A 元素处理 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 函数。然而,什么都没有发生。如果 CDhtmlDialog 加载外部 URL 而不是加载资源,看起来 DHTML_EVENT_ONCLICK 对它不起作用?有没有办法在 CDhtmlDialog 中捕获通过 HTTP 加载的 HTML 的 onclick 事件?

【问题讨论】:

    标签: c++ windows winapi mfc


    【解决方案1】:
    DHTML_EVENT_TAG(DISPID_HTMLELEMENTEVENTS_ONCLICK, _T("a"), OnLinkClickedMethod)
    

    这真是一个痛苦的发现。 Microsoft 的 dispatch id 文档很糟糕。这将捕获在您的 CDHtmlDialog 中单击的每个链接。

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

    【讨论】:

      猜你喜欢
      • 2016-06-22
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      • 1970-01-01
      相关资源
      最近更新 更多