2016-07-31 2 views
0

Im Grunde, was ich versuche zu tun ist, ich eine Funktion zu rufen versuchen, und wiederholen Sie die gleiche Funktion nach jeweils „n“ Sekunden, bis die Maustaste (MouseDown-) auf einem Knopf/Bild gedrückt wird und Hören Sie auf, die Funktion aufzurufen, wenn Sie die Maustaste loslassen (MouseUp). Ich versuche dies mit JavaScript zu tun!Überprüfen Sie, ob sich die Maustaste auf einer Schaltfläche/einem Bild befindet, und führen Sie alle paar Sekunden eine Funktion aus, bis die Taste gedrückt wird?

einige Referenzen

https://api.jquery.com/mousedown/

How can I detect a rightmouse button event on mousedown?

JavaScript: Check if mouse button down?

+0

'Ich versuche, eine function' kurz nach der Benutzer klickt auf die Maus zu nennen oder nicht? –

+0

Ja, und wiederholen Sie die gleiche Funktion nach jeder "n" Sekunden, bis die Taste gedrückt wird! –

Antwort

0

Dies sollte für Sie arbeiten:

var timerId = 0; 

function onmousedown(ev) { 
    console.log("Do something"); //first call right after mouse down 
    timerId = setInterval(function() { 
     console.log("Do something"); 
    }, 2000); 
} 
function onmouseup(ev) { 
    clearInterval(timerId); 
} 

var obj = document.getElementById("foo"); 
obj.addEventListener("mousedown", onmousedown); 
obj.addEventListener("mouseup", onmouseup); 

Geige: https://jsfiddle.net/kLnjh9zd/

1

Nicht getestet, aber eine Idee zu geben.

var state = false; 

function repeatingFunction(){ 
    if (!state){ 
     return; 
    } 
    console.log("Do something"); 
    setTimeout(repeatingFunction, 2000); 
} 
function mymousedown(ev){ 
    state = true; 
    repeatingFunction(); 
} 
function mymouseup(ev){ 
    state = false; 
} 
var obj = document.getElementById("foo"); 
obj.addEventListener("mousedown", mymousedown); 
obj.addEventListener("mouseup", mymouseup); 
+0

Ich habe versucht, aber es funktioniert nicht. Überprüfen Sie, ob ich einen Fehler gemacht habe: https://jsfiddle.net/7Lke4t8y/ –

+0

ja, kleiner Fehler. sollte document.getElement sein .. nicht window. – jancha

Verwandte Themen