繁体   English   中英

如何模拟点击页面加载?

[英]How to simulate click on page load?

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

甚至在您将其标记为重复之前,我已经尝试过这个这个这个 它没有用。 我已经在以下代码中尝试过了。

<a href="http://google.com" class="test_class">click me</a>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script language="javascript">
$("document").ready(function() {
    setTimeout(function() {
        //$('.test_class').click();
        $('.test_class').trigger('click');
    },10);

});
</script>

我尝试了带有setTimeout和没有setTimeout的click事件,但没有任何效果。 我也尝试过使用id,但没有成功。 在ubuntu 14.04上使用google chrome版本44.0.2403.157(64位) ,如果有关系的话。

编辑:我刚才也尝试了以下变体,但它们没有起作用:(

 $(document).ready(function() { //removed quotes.
    setTimeout(function() {
        //$('.test_class').click();
        $('.test_class').trigger('click');
    },10);

});

这个

$(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>

ps点击事件的实际情况有所不同,这不是简单地重定向到google网站。

改为这样做:

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

当您触发<a>元素上的click事件时,似乎没有遵循href属性。

因此:

<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>

这个会的。

我猜应该有一些阻止带有href属性的链接被Javascript触发的事情。

如果要在HTML中执行重定向,建议您深入研究<meta http-equiv="refresh" content="5; URL=http://www.mydomain.tld">标记。

您需要通过访问$('.test_class')[0]对元素进行DOM事件点击:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM