我的页面中有锚标记。我喜欢触发click事件onload。这意味着我想用新标签打开这个页面“http://XXXXX.com”。因为我不想弹出阻挡者。反正有吗?
锚定者将在下面给出
id="add_redirect"
href="http://XXXXX.com"
target="_blank"
答案 0 :(得分:6)
是的,您可以使用点击事件onLoad()
。只需在jquery中使用setTimeout()
方法即可。这将调用点击功能而不点击它。这是一个例子:
$("document").ready(function() {
setTimeout(function() {
$("#add_redirect").trigger('click');
},10);
});
当页面加载和时间延迟为10毫秒时,这将对您有用,这可以忽略不计......语法已得到纠正。
答案 1 :(得分:3)
使用JQuery,你可以轻松地做到这一点。以及...早期发布的解决方案也有效。
$(document).ready(function(){
$("#add_redirect").trigger('click');
});
<强> TRY DEMO 强>
答案 2 :(得分:2)
尝试在页面加载
上添加以下代码document.getElementById('add_redirect').click();
答案 3 :(得分:2)
如果您的目标是在页面加载时绕过弹出窗口阻止程序,则合成触发click
事件可能不起作用。浏览器非常聪明,可以知道用户生成click
的时间与您在DOM元素上调用click
函数的时间相比(在那些浏览器上甚至可以正常工作)。示例:http://jsbin.com/avibi3/3,http://jsbin.com/avibi3/4
使用jQuery的trigger
机制肯定不会这样做,因为它根本不会真正触发click
事件;它只是触发jQuery连接的处理程序(编辑:显然,通过onclick
属性定义的处理程序 - 请参阅Sukhi的答案 - 但不是通过addEventListener
附加的。如果你想做什么,Sukhi的答案会告诉你如何,虽然我总是说:如果你想要从两个不同的地方运行代码,把它放在一个函数中,并从两个不同的地方调用该函数(而不是把它放在一起)在click
处理程序中,然后模拟单击以运行代码)。 trigger
有一些有效的用例(主要与第三方脚本集成有关),但是为了从两个不同的地方运行自己的代码,这是设计问题的症状。 / p>