我可以触发点击事件onload

时间:2011-02-11 08:08:49

标签: javascript jquery

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

锚定者将在下面给出

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

4 个答案:

答案 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/3http://jsbin.com/avibi3/4

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