2010-12-23 26 views
38

Wie klicken Sie eine Taste pro Sekunde mit JavaScript?Klicken Sie auf eine Schaltfläche pro Sekunde

+5

aber ... warum? vielleicht würde etwas Kontext helfen? dh es könnte einen besseren Weg geben, um das zu erreichen, was Sie versuchen ... anstatt jede Sekunde einen Knopf zu klicken ... –

Antwort

90
setInterval(function() {document.getElementById("myButtonId").click();}, 1000); 
+0

emuliert das eigentlich einen Knopfklick oder ruft einfach den Ereignis-Listener für 'myButtonId' auf? ? –

+0

@ Damien-at-SF .. Ja danke. Ich habe die Antwort korrigiert. –

+0

:) nett, bekommt meine Stimme! –

5
document.getElementById('youridhere').click() 
+3

Dies beantwortet nur teilweise die Frage, der sich wiederholende Teil der Frage ist immer noch hervorragend. – greedybuddha

7

Dies wird Ihnen eine gewisse Kontrolle über das Klicken geben, und sieht ordentlich

<script> 
var timeOut = 0; 
function onClick(but) 
{ 
    //code 
    clearTimeout(timeOut); 
    timeOut = setTimeout(function(){onClick(but)},1000); 
} 
</script> 
<button onclick="onClick(this)">Start clicking</button> 
+0

Gibt es einen Grund dafür, dass dieser bei jedem Aufruf seinen eigenen Timer löscht und neu erstellt, anstatt "interval = setInterval (...)" zu verwenden, das sich selbst wiederholt und 'clearInterval (interval)' bei Bedarf verwendet? – doppelgreener

+2

Jedes Mal, wenn Sie darauf klicken, wird eine weitere Schleife gestartet. Es wird nur angenommen, dass ich sie innerhalb der Schleife anhalten würde, damit Sie eine Zustandsprüfung durchführen können, bevor Sie sie erneut starten. Auch dies ist 'setTimeout', das ist nur eine alternative Methode zu zeigen' setInterval' – Isaac

+0

Okay, sicher, das ist eine gute Alternative, je nachdem, welchen Effekt jemand will. +1 – doppelgreener

2

Diese

setInterval(function(){$("#myButtonId").click();}, 1000); 
+1

Hinzufügen einer Beschreibung würde helfen. –

1

Sie

verwenden können, funktionieren würde
setInterval(function(){ 
    document.getElementById("yourbutton").click(); 
}, 1000); 
0

dies funktionieren wird, einfach und leicht

`<form method="POST"> 
<input type="submit" onclick="myFunction()" class="save" value="send" name="send" id="send" style="width:20%;"> 
</form> 
<script language ="javascript" > 
function myFunction() { 
setInterval(function() {document.getElementById("send").click();}, 10000);  
} 
</script> 

`

Verwandte Themen