0

私は2回 "onkeydown"機能を併用しようとしています。以下のコード:onkeydown functionsをマージする

FUNCTION - 1

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

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

FUNCTION - 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]; 
}); 

ページ走行機能 - 1が作動していません。

+0

?これにより、物事は通常よりも複雑になります。 –

答えて

1

onkeydownメソッドは1つしか使用できません。それを動作させるためには、例えば、イベントリスナーを使用する必要があります。

document.addEventListener('keyDown', checkKeycode); 

あなたは、あなたの第2の機能を追加することができますし、それは第二の機能は、最初の関数を上書きするので、これは動作しません

0

に動作します。

例:

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

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

これらは、JavaScriptの基本です。

あなたがonkeydownイベントをリッスンしたい場合は、EventListenersを使用する必要があるなどのイベントにあなたの機能を発射:あなたが同じイベントのために2つのハンドラを使用しているのはなぜ

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