jQuery或JavaScript自动点击

25

如何在页面加载时自动点击链接?我已经尝试了很久,但它不起作用。

<link rel="stylesheet" type="text/css" href="leightbox.css" />
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="leightbox.js"></script>
</head>

<body>


<div class="content">
<p> <a href="#" class="lbOn" rel="pop02">Click here to activate leightbox popup.</a></p>
</div>



<!----------// POPUP (ON CLICK) //---------->
<div id="pop02" class="leightbox">
<a href="#" class="lbAction" rel="deactivate">×</a>

<div class="scrollbox">
<h1>This popup loads upon clicking a trigger link.</h1>
text</div>
</div>

</body>

5
你的标题和标签中都有jQuery,但是代码中却有Prototype。你想要什么? - lonesomeday
1
你可以通过$(document).ready(function(){})在页面加载时调用点击事件的代码。 - XMen
我当时在尝试其他东西,然后忘记了,所以才用了原型。 - eMRe
6个回答

69

您并没有提供javascript代码,但是这种问题的通常原因是没有等待页面加载。请记住,大多数javascript在DOM加载之前执行,因此试图操作它的代码将无法工作。

要在页面加载完成后运行代码,请使用$(document).ready回调函数:

$(document).ready(function(){
  $('#some-id').trigger('click');
});

11

首先我尝试了这段示例代码:

$(document).ready(function(){ 
     $('#upload-file').click(); 
});

对我没用,后来尝试了这个。

$(document).ready(function(){ 
     $('#upload-file')[0].click(); 
});

没有改变。最后,试了这个。

$(document).ready(function(){ 
     $('#upload-file')[0].click(function(){
     }); 
});

问题已解决。对任何人都有帮助。


1
这是解决方案。 - Nessi

5
$(document).ready(function(){ 
  $('#some-id').trigger('click'); 
});

做到了。

3
$(document).ready(function(){
   $('.lbOn').click();
});

假设这也可以工作。


2
在jQuery中,您可以像这样触发点击事件:

jQuery 中可以像这样触发单击:

$('#foo').trigger('click');

更多内容请访问:

http://api.jquery.com/trigger/

如果您想使用 prototype 来完成相同的操作,代码如下:

$('foo').simulate('click');

尽管 .trigger() 模拟了事件的激活,包括合成的事件对象,但它并不能完美地复制自然发生的事件。 - Boris Hamanov

0

你在尝试让弹出窗口起作用吗?我不知道如何模拟点击,也许你可以尝试以某种方式触发点击事件,但我不知道是否可能。很可能由于安全和隐私问题,这样的功能没有被实现。

您可以使用position:absolute的div来模拟在同一页上的弹出窗口。如果您坚持要创建另一个页面,我无法帮助您。也许有更有经验的其他人会提供他们的意见。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接