如何使用mshtml处理带有JavaScript onclick {return false}的链接

发布于 2024-09-30 22:40:17 字数 472 浏览 8 评论 0原文

我遇到了一个情况,当我使用mshtml来检测点击html元素(如href)时的事件时,我使用下面的代码:

DOMEventHandler onclickhandler = new DOMEventHandler(doc,null);

onclickhandler.NewEventHandlers += new DOMEvent(DOMEventMethods._click);

doc.onclick = onclickhandler;

void _click(IHTMLEventObj obj)
{
    MessageBox.Show(obj.srcElement.tagName);
}

但是如果html元素有一个JavaScript onclick={dosomething();return false;} 那么我就无法捕获该事件。

我该如何解决这样的问题?或者有什么解决办法吗?

I met a case when I use mshtml to detect the event when click on a htmlelement like a href, I use the code below:

DOMEventHandler onclickhandler = new DOMEventHandler(doc,null);

onclickhandler.NewEventHandlers += new DOMEvent(DOMEventMethods._click);

doc.onclick = onclickhandler;

void _click(IHTMLEventObj obj)
{
    MessageBox.Show(obj.srcElement.tagName);
}

But if the htmlelement has a JavaScript onclick={dosomething();return false;}
then I cannot capture the event.

How do I fix the issue like this? Or is there any work around?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱花落人离去 2024-10-07 22:40:17

最后,我选择使用 mouseup 来监视这种事件,这不是一个很好的解决方案,如果您有其他好的解决方案,请告诉我,谢谢

Finally, I choose use mouseup to monitor this kind of event, not a great solution, if you have any other great solution, please let me know, thanks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文