2017-02-01 2 views
0

Ich möchte ein JavaScript-Programm simulieren einen Mausklick, wo immer sich die Maus in einem bestimmten Intervall befindet. Ich kenne dieWie kann ich ein Javascript-Programm erstellen, um einen Mausklick zu simulieren?

if(mouseIsPressed) 

und die

if(mouseDown) 

Befehle, aber gibt es Befehle, die die Maus automatisch machen klicken, vielleicht eine Art von forceMouseDown Befehl?

+0

in Seite Mausposition zu verfolgen Wenn Sie so etwas wie Cookie Klicker tun wollen, sollten Sie Timeout stattdessen verwenden. Ich meine, wenn Sie alle n Sekunden eine Funktion ausführen möchten, sollten Sie eine Zeitüberschreitung festlegen. –

+0

Ok, ich werde einige Nachforschungen über Timeout machen und wenn ich mein Problem lösen kann, werde ich meine eigene Frage beantworten. –

+0

Es kommt darauf an, was willst du machen? –

Antwort

1

Wenn Sie nur auf eine Schaltfläche klicken möchten, wie ich aus dem Kommentar sehe, dann klicken Sie einfach auf die Schaltfläche mit HTMLElement.click() in einem Intervall.

So:

var myButton = document.getElementById('my-button'); 
 

 
// Just for example 
 
var clickCount = 0; 
 
var clickStatus = document.getElementById('clicks'); 
 

 

 
setInterval(function(){ 
 
    myButton.click(); 
 
    clickStatus.innerText = ++clickCount; 
 
}, 2000)
<button id="my-button">My Button</button> 
 
<p>Clicks: <span id="clicks">0</span></p>

+0

Denken Sie, dass dies in einer Arbeitsfläche funktioniert, um einen Klick für ein Rechteck zu simulieren? –

+0

Ist auch der Teil, der mal hier klickt clickStatus.innerText = ++ clickCount; }, 2000) im 2000 Teil? –

+0

Sicher ändern Sie einfach den 'myButton', um auf das Element innerhalb des Canvas zu zeigen. Solange es ein HTML-Element ist, sollte es gut funktionieren –

1

Kann elementFromPoint() verwenden oberste Element an aktuellen Mausposition zu identifizieren.

mit einem mousemove- Zuhörer Kombinieren Sie das

var mousePos ={x:0,y:0} 


setInterval(function(){ 
    document.elementFromPoint(mousePos.x, mousePos.y).click() 
}, 2000) 

document.addEventListener('mousemove', function(e){ 
    mousePos.x = e.clientX; 
    mousePos.y = e.clientY; 
}); 
+0

Darf ich fragen was der e.clientX; und e.client tut oder simuliert? –

+0

es ist die Pixelposition innerhalb des Dokuments der Maus auf der x-Achse – charlietfl

+0

ok danke, aber warum können Sie nicht mouseX oder mouseY? –

Verwandte Themen