試試這個
$(document).on("keydown", function(e, key){
var a = 38;
var b = 0;
if (e.which === a) {b = e.which};
var key = (key === undefined ? b : a);
return console.log(a + " " + b + " " + key)
});
編輯
是的,但問題是關鍵中下來,我不能用A和B ,因爲他們可以設置成未定義,我必須在 我的程序的另一部分啓動它們 - user3030188
當 keydown事件被觸發時,調用你的函數,也許你可以發送變量 而不是全局變量。 - L105
耶這是有道理的,但什麼即時知道是我是否能在 a或b傳遞的case語句,如果我在 程序爲什麼會返回不確定他們會得到重寫的另一部分定義的呢? - user3030188
試試這個
function key(e, a, b, key) {
/* settings */
var a = (a === undefined ? 38 : a);
var b = (b === undefined ? 0 : b);
if (e.which === a) {b = e.which};
var key = (key === undefined ? b : a);
return console.log(a + " " + b + " " + key)
};
$(document).on("keydown", key); /* `38` `38` `38` */
/* `a`, `b` */
$(document).on("keydown", key({},undefined,undefined,undefined)); /* `38` `0` `0` */
/* a`, `b`, or `n` */
$(document).on("keydown", function(n) {
var n = 35;
key({},37,n,undefined)
}); /* `37` `35` `35`*/
/* `n` */
$(document).on("keydown", function(n) {
var n = 35;
key({},n,n,undefined)
}); /* `35` `35` `35`*/
這很正常,因爲當檢測到'keydown'事件時,當腳本加載時觸發'console.log'。 – L105
是的,但問題是,在關鍵內部,我不能使用a和b,因爲他們被設置爲undefined,我必須在我的程序的另一部分啓動它們 – egdenis
當'keydown'事件觸發時調用你的函數,也許您可以將該變量發送給該函數,而不是將其變爲全局變量。 – L105