如何触发<a>&#39;s click event on safari

时间:2016-03-02 23:50:16

标签: javascript safari mobile-safari

http://nycweb.io/test.html

它的HTML是

<a href="http://www.google.com" target="_blank" style="display:block">click</a>

在chrome的控制台中,如果你这样做

document.getElementsByTagName('a')[0].click()

它将打开google.com的新页面。令人惊讶的是,在Safari中,这不起作用。我四处搜索,发现this page说Mobile Safari存在一个错误,导致click事件无法触发。它还列出了一些解决方法。当我开始阅读它时,我希望它会有所帮助,但它实际上让我更加困惑。

首先,它说这个错误只发生在Mobile Safari上,但任何拥有Macbook的人都可以从上面的链接测试它也不适用于Safari;第二,它说它只发生在“通常不具有交互作用的元素”中,并且解决方法包括将“href”添加到<a>以使其具有交互性。但我上面的测试表明,它根本不适用于<a>,无论它是否href

我要解决的实际问题是此页面“http://fbnydob.applinzi.com/test.php”,您可以在其中看到托管公司推送的警告消息,只有点击小'x'才能阻止该消息。我试图以编程方式单击它,但即使没有<a>它也是href,因此我的程序无法在Apple设备上运行,我的用户仍然看到这个令人不快的消息。

实际上有效的解决方法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试触发点击事件吗?
   document.getElementsByTagName( 'A')[0] .fire( '点击') 这将调用click处理程序并关闭弹出窗口。

相关问题