2013-07-16 19 views

Odpowiedz

11
document.onkeydown = null 

Można użyć jquery zrobić to wydarzenie handeling dla Ciebie, sposób używania jest mniej powszechnie stosowane i nie pozwala wielu abonentów.

Spójrz na dokumentacji tutaj:

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

przykład:

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

Czy mógłbyś opublikować wersję jquery, proszę? – GibboK

+0

'document.onkeydown' jest z pewnością stary, ale jest ustandaryzowany i działa we wszystkich głównych przeglądarkach, w tym w IE 6-8 i będzie działał w przyszłych przeglądarkach. Dlaczego uważasz, że używanie go jest złym pomysłem? –

+1

OP nie _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ DOM/elemento.addEventListener – MrMisterMan

1

Nie można go usunąć, można tylko dołączyć nowy, że nic nie robi, jak:

document.onkeydown = function() {}; 

z jQuery można wykonać:

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

i usunąć

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

użyłbym 'document.onkeydown = null' nie trzeba utrzymywać odniesienia do niepotrzebnej pustej funkcji –

+0

Puste funkcje są świetne! – adeneo

1

Najprościej jest ustawić go na null

document.onkeydown = null; 
+1

cóż, ta odpowiedź jest nieco spóźniona na około 57 sekund do @ Willem D'haeseleer – ardhitama

5

można usunąć go z:

document.onkeydown = null; 

Jeśli chcesz, aby móc aby go przywrócić, możesz najpierw zapisać go w zmiennej:

var saved_keydown = document.onkeydown; 
document.onkeydown = null; 
//... later 
document.onkeydown = saved_keydown; 
Powiązane problemy