2010-11-08 73 views
16

如何自动点击页面加载链接?我一直在努力的年龄,但ID不起作用。jquery或javascript自动点击

<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 2010-11-08 11:48:54

+1

你可以通过$(document).ready(function(){})调用页面加载时的点击代码 – XMen 2010-11-08 11:54:07

+0

我正在尝试someting其他那里然后我忘了这就是为什么我有原型 – emre 2010-11-09 01:10:34

回答

52

你还没有提供你的JavaScript代码,但这种类型的问题的通常原因是不等待页面加载。请记住,大多数JavaScript是在DOM加载之前执行的,因此试图操作它的代码将不起作用。

运行代码的页面加载完成后,使用$(文件)。就绪回调:

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

如何用javascript运行点击代码? – user3770797 2017-12-10 23:22:32

0

您正在尝试做出弹出式工作吗?我不知道如何模仿点击,也许你可以试着点击点击事件,但我不知道它是否可能。由于安全性和隐私问题,这些功能很可能不会实现。

您可以使用位置为div的div来模拟相同页面上的弹出窗口。如果你坚持创建另一个页面,我不能帮你。也许有更多经验的人会增加他的15美分。

1

jQuery的你可以触发这样一个点击:

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

这里更多:

​​

如果你想使用原型做同样的,它看起来像这个:

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

虽然.trigger()模拟一个事件激活,完成一个合成的事件对象,它不能完美地复制一个自然发生的事件。 – 2010-11-08 11:59:36

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

假设这将工作过。

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

诀窍。

2

开始我尝试用此示例代码:

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

它没有为我工作。然后,尝试与此

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

没有变化。最后,用这个试了

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

解决了我的问题。有用的人。