2010-11-08 71 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(){ 
    }); 
}); 

解決了我的問題。有用的人。