0

Ich versuche, zweimal "onkeydown" -Funktion zusammenzuführen, weil es nicht zusammenarbeitet. Codes unter:Merge onkeydown Funktionen

FUNKTION - 1

document.onkeydown = checkKeycode 
function checkKeycode(e) { 
    var event = e || window.event; 
    var keycode = event.which || event.keyCode; 

    if (keycode == 91) { 
    alert("Windows"); 
    } 
} 

FUNKTION - 2

document.onkeydown = function(e){ 
var n = (window.Event) ? e.which : e.keyCode; 
if(n==116 || n==27 || n==112 || n==123 || n==17) return false; 
} 

var keys = {}; 

$(document).keydown(function (e) { 
    keys[e.which] = true; 
}); 

$(document).keyup(function (e) { 
    delete keys[e.which]; 
}); 

Wenn die Seite Lauf Funktion - 1 arbeitet nicht.

+0

Warum Sie für das gleiche Ereignis zwei Handler verwenden? Dies macht die Dinge komplizierter als es normalerweise sein kann. –

Antwort

1

Sie können nur eine onkeydown Methode verwenden. Damit es funktioniert, sollten Sie verwenden eventlistener, zum Beispiel:

document.addEventListener('keyDown', checkKeycode); 

Sie können dann Ihre zweite Funktion hinzufügen und es wird funktionieren

0

Das wird nicht funktionieren, da zweite Funktion die erste Funktion überschreibt.

Beispiel:

var d; 
d = 1; 
d = 2; 
console.log(d); // prints '2' 

var c; 
c =() => { return '1'; }; 
c =() => { return '2'; }; 
console.log(c()); // prints '2' 

Dies sind JavaScript Grundlagen.

Wenn Sie für onkeydown Veranstaltung hören Sie EventListeners und Feuer Ihre Funktionen auf Ereignis wie verwenden sollten:

document.addEventListener('keyDown', function1); 
document.addEventListener('keyDown', function2); 
// both function will execute on keyDown event