如何模拟点击页面加载?

时间:2015-09-04 19:21:01

标签: javascript jquery

我的目标是不是简单的重定向

即使您将其标记为重复,我也已尝试过binary64thisthis。它没用。我在下面的代码中试过了。

setTimeout

我尝试使用和不使用 $(document).ready(function() { //removed quotes. setTimeout(function() { //$('.test_class').click(); $('.test_class').trigger('click'); },10); }); 的点击事件,没有任何效果。我也尝试过id,但是没用。我在ubuntu 14.04上使用谷歌浏览器版本44.0.2403.157(64位),如果它很重要的话。

修改 我刚刚尝试过以下变化,但它们没有用:(

$(document).ready(function() {
    setTimeout(function() {
        //$('.test_class').click();
        $('.test_class')[0].trigger('click'); //added array representation
    },10);

});

这一个

<a>

这一点,这个点击事件的特点是我可以看到警报,但<a href="http://google.com" class="test_class">click me</a> <div class="submit_btn" style="display:none;" onclick="dothis();"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script language="javascript"> function dothis() { alert('dskjhfjkds'); $('.test_class').click(); } $(document).ready(function() { setTimeout(function() { //$('.test_class').click(); $('.submit_btn').click(); },10); }); //$('.test_class')[0].trigger('click'); </script> 的点击事件没有发生。

var async = require('async');
async.whilst(function() {
  return true
}, function(cb) {
  console.log("working");
  cb();
});

P.S。我点击事件的实际情况有所不同,它不是简单的重定向到谷歌网站。

3 个答案:

答案 0 :(得分:1)

请改为:

$('.test_class')[0].click();

答案 1 :(得分:1)

当您在href元素上触发点击事件时,似乎未遵循<a>属性。

因此:

<a href="http://google.com" class="test_class">click me</a>
<script>
    $(document).ready(function() {
        setTimeout(function() {
            $('.test_class').click(); // this won't trigger the link to google.com
        },10);
    });
</script>

在以下情况下不会有任何影响:

<a href="http://google.com" onClick="alert('this is an alert');" class="test_class">click me</a> <!-- notice the onClick attribute -->
<script>
    $(document).ready(function() {
        setTimeout(function() {
            $('.test_class').click(); // this will trigger the alert
        },10);
    });
</script>

这个会。

我猜必须有一些东西阻止Javascript触发href属性的链接。

如果您想在HTML中执行重定向,建议您深入了解<meta http-equiv="refresh" content="5; URL=http://www.mydomain.tld">代码。

答案 2 :(得分:0)

您需要通过访问$('.test_class')[0]

为元素执行DOM事件点击
$('.test_class')[0].click();