Javascript setTimeout-Funktion rufen Sie mit Ereignis-argument?

Was ist der beste Weg, um zu ziehen in das event-Objekt bei der Verwendung von setTimeout? Ich bin mit jQuery zu behandeln, normalisieren das event-Modell in allen Browsern, aber ich bin mir nicht sicher, wie man die 'e' - Objekt in der Funktion checkPos.

Mein Aktueller code:

function MouseDownEvent(e) {
    *snip*
    timeoutID = setTimeout(checkPos(e), 500);
}
function checkPos(e) {
    //function uses e on a timeout of 500ms
    timeoutID = setTimeout( checkPos(e) }, 500);
}

Derzeit, dass code, der einmal funktioniert hat, weil die Funktion aufgerufen wird im mousedown-Ereignis, aber nie updates der e-Objekt, wie der Benutzer die Maus bewegt. Die FF-javascript-Fehler-Konsole auch erklärt, dass es ein nutzlos setTimeout call (missing quotes around argument?)', aber diesem Rat Folgen, bewirkt, dass es komplett ausfallen.

Wie kann ich Sie in die 'e' - Ereignis-argument aus einer setTimeout-Aufruf?

Edit: Hinzugefügt in den code, der wiederholt den checkPos-Funktion, die alle 500 MS

  • Mit Ihrem code, bist du eigentlich aufrufen checkPos beim Aufruf setTimeout (aufgrund der Funktions-Aufruf-operator ()) und übergeben der Rückgabewert setTimeout; dieser Wert ist wahrscheinlich nicht eine Referenz auf eine Funktion, so setTimeout ausfällt.
InformationsquelleAutor C Bauer | 2010-11-30
Schreibe einen Kommentar