2013-07-16 11 views

Antwort

11
document.onkeydown = null 

Sie jquery verwenden könnte Ihre Veranstaltung für Sie handeling zu tun, ist die Methode, die Sie verwenden weniger häufig verwendet und erlaubt es nicht, mehrere Teilnehmer.

Blick in die Dokumentation hier:

http://api.jquery.com/on/

Beispiel:

$(document).on("keydown", function(){ 
    doStuff(); 
}) 
// unsubscribe all handlers 
$(document).off("keydown"); 
+0

könnten Sie bitte eine jquery-Version posten? – GibboK

+0

'document.onkeydown' ist sicherlich alt, aber standardisiert und funktioniert in allen gängigen Browsern, einschließlich IE 6-8, und wird auch in zukünftigen Browsern funktionieren. Warum denken Sie, es ist eine schlechte Übung, es zu benutzen? –

+1

OP hat _have_ nicht, um jQuery zu verwenden, sie könnten den akzeptierten Standard von 'document.addEventListener ('keydown', function() {...}) verwenden' https://developer.mozilla.org/es/docs/ DOM/elemento.addEventListener – MrMisterMan

1

Sie es nicht entfernen können, können Sie nur einen neuen anhängen, die nichts tut, wie:

document.onkeydown = function() {}; 

mit jQuery können Sie tun:

$(document).on('keydown', myMethod); 

und

$(document).off('keydown', myMethod); 
+0

ich würde 'document.onkeydown = null' verwenden, keine Notwendigkeit, einen Verweis auf eine unnötige leere Funktion zu behalten –

+0

Leere Funktionen sind großartig! – adeneo

1

Der einfachste Weg, um es zu entfernen gesetzt ist

document.onkeydown = null; 
+1

Nun, diese Antwort ist ein bisschen spät für ca. 57 Sekunden zu @Willem D'Haeseleer – ardhitama

5

Sie es mit entfernen auf null kann:

document.onkeydown = null; 

Wenn Sie in der Lage sein wollen Um es wiederherzustellen, können Sie es zuerst in eine Variable speichern:

var saved_keydown = document.onkeydown; 
document.onkeydown = null; 
//... later 
document.onkeydown = saved_keydown; 
Verwandte Themen