我可以触发点击事件onload

我在我的页面中有锚标记。 我喜欢触发click事件onload。 这意味着我想用新标签打开这个页面“http://XXXXX.com”。 因为我不想弹出阻挡者。 反正有没有这样做?

下面给出了锚定器

id="add_redirect" href="http://XXXXX.com" target="_blank" 

如果你的目标是在页面加载时绕过弹出窗口阻止程序,那么综合触发click事件可能不起作用。 浏览器非常聪明,可以知道用户生成click时间与您在DOM元素上调用clickfunction的时间(在那些浏览器上甚至可以正常工作)。 示例: http : //jsbin.com/avibi3/3,http : //jsbin.com/avibi3/4

使用jQuery的trigger机制当然不会这样做,因为它根本不会真正触发click事件; 它只是触发jQuery连接的处理程序(编辑:显然,通过onclick属性定义的那些 – 请参阅Sukhi的答案 – 但不是通过addEventListener附加的那些) 。 如果这就是你想做的事情,Sukhi的答案会告诉你如何,虽然我总是说:如果你想要从两个不同的地方运行代码,把它放在一个函数中,并从两个不同的地方调用该函数(而不是把它放在一起)在click处理程序中,然后模拟单击以运行代码)。 有trigger有效用例(主要与第三方脚本集成有关),但是从两个不同的位置运行您自己的代码,这是设计问题的症状。

是的,你可以在onLoad()使用click事件。 只需在jquery中使用setTimeout()方法即可。 这将调用点击function而不点击它。 这是一个例子:

 $("document").ready(function() { setTimeout(function() { $("#add_redirect").trigger('click'); },10); 

当页面加载和时间延迟为10毫秒时,这将对你有用,这可以忽略不计……

使用JQuery你可以轻松地做到这一点。以前…已发布的解决方案也有效。

 $(document).ready(function(){ $("#add_redirect").trigger('click'); }); 

尝试演示

尝试在页面加载上添加以下代码

 document.getElementById('add_redirect').click();