none
如何在CDHTMLDialog上多次捕获有javascript的按钮的click event,以及捕获多次click event RRS feed

  • 问题

  • 用CDHTMLDialog显示一个网页,通过以下代码捕获点击按钮点击事件

    BEGIN_DHTML_EVENT_MAP(CCYHtmlDlg)
    
    
    
     DHTML_EVENT_ONCLICK(_T("start"), OnClick)
    
    
    
    END_DHTML_EVENT_MAP

    OnClick中弹出messagebox一个,start为页面上的一个按钮的id,按钮中有个javascript实现按钮图标的闪烁。

    在第一次点击的时候,捕获正常,可是第二次点击就会捕获不到。而且第一次捕获到事件后,cdhtmldialog窗口中的这个按钮就停止闪烁了,用IE打开这个网页时,点击这个按钮,没有这种现象。

    另外,如果我先点击其他按钮(具有一个弹出浮动窗口的javascript),再点击start,也是没有反应,捕获不到该点击事件,求助一下,哪位牛人知道这是什么情况?

    PS:用这个方法捕获没有javascipt的点击事件,是能够实现多次点击捕获的



    2011年5月11日 15:44

答案

  • 如果一个框架或者框架集navigate了的话,里面的文档就销毁了,要重新挂事件。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • 已标记为答案 realrocky6 2011年5月27日 3:01
    2011年5月18日 15:41
    版主

全部回复

  • 如果描述的不清楚,可以给我发邮件,我把代码和网页发一下,email:realrocky6@hotmail.com

    2011年5月12日 3:41
  • Hi realrocky,

    >>在第一次点击的时候,捕获正常,可是第二次点击就会捕获不到

    请您检查下,您这个事件代码是否放对位置。是否是循环。

     

    Lucy


    Lucy Liu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年5月13日 9:10
    版主
  • 两次点击之间,BeforeNavigate2事件有没有触发?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年5月13日 21:06
    版主
  • Hi Lucy,

    事件响应的代码如下

    HRESULT CCYHtmlDlg::OnButtonClick(IHTMLElement *pElement)
    {
        MessageBox(_T("abc"));
        return S_OK;
    }

    没有循环。

    这个第二次点击不响应的问题已经解决了,将S_OK换成-1,就能够多次的响应点击事件,但是,只要点击其他具有href="javascript:void(0);"信息的按钮或者链接,那个button还是不能响应;

    像“start”这个Button我可以捕获到Element的id,但是像其他未知的按钮或者链接我就不知道怎么捕获了……

    2011年5月17日 3:41
  • 回复蒋晟:beforeNegative事件每次都响应
    2011年5月17日 6:56
  • 能不能给我个email地址,我把那个网址给您,麻烦您帮我看看,我现在被这个问题各种折磨
    2011年5月18日 3:28
  • 你好,能不能给我个email联系地址,我把这个网址传给您,麻烦您帮我看看,好几天了,一直没有解决这个问题。

    2011年5月18日 3:29
  • 如果一个框架或者框架集navigate了的话,里面的文档就销毁了,要重新挂事件。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • 已标记为答案 realrocky6 2011年5月27日 3:01
    2011年5月18日 15:41
    版主
  • To Sheng Jiang:

    额,能不能稍微说的详细些,挂什么事件?我比较小菜…………谢谢

    2011年5月19日 2:27