HTML/JavaScript”;if!="不起作用

HTML/JavaScript "if != " is not working

本文关键字:quot 不起作用 if JavaScript HTML      更新时间:2023-09-26

我想用Javascript为一个小游戏编写一个HTML页面。我有很多s,每次点击都会向javascript发送一个不同的变量。现在的问题是,我想为一个函数排除一些s,它应该适用于除被排除的函数之外的所有函数。

我是这样写的:

if (pressedKey != "Leertaste" || "Enter" || "StrgR" || "Alt" || "AltGr" || "Tab" || "ShiftL" || "StrgL" || "ShiftR"){
    document.getElementById(pressedKey).innerHTML = "<img src='"push1.png'">"
}

但它不起作用。。它仍然会触发该功能,尽管pressedKey是被排除在外的键之一。。

我希望有人能帮忙。

3m7ecc

我认为应该是,但我不确定,请尝试一下:):

pressedKey != "Leertaste" || pressedKey != "Enter" || pressedKey != "StrgR" || pressedKey != "Alt" || pressedKey != "AltGr" || pressedKey != "Tab" || pressedKey != "ShiftL" || pressedKey != "StrgL" || pressedKey != "ShiftR"

正如你们中的许多人所说,我用错了分隔符,但这个是有问题的,所以我猜他需要这个。但事实上,他需要:

 pressedKey != "Leertaste" && pressedKey != "Enter" && pressedKey != "StrgR" && pressedKey != "Alt" && pressedKey != "AltGr" && pressedKey != "Tab" && pressedKey != "ShiftL" && pressedKey != "StrgL" && pressedKey != "ShiftR"

@Deer Outdoor.nl的答案几乎是正确的(使用了错误的运算符),尽管不雅(无意冒犯!)。您还可以将所有值放在一个数组中,并检查pressedKey是否在该数组中。

var keys = ["Leertaste", "Enter", "StrgR", "Alt", "AltGr", "Tab", "ShiftL", "StrgL", "ShiftR"];
if (keys.indexOf(pressedKey) === -1) {
    //pressed key is not in array
} else {
    //pressed key is in array
}

或者您可以使用switch语句:

switch(pressedKey) {
    case "Leertaste":
    case "Enter":
    case "StrgR":
    //...other cases...
         //pressed key is in those values
        break;
   default:
        //pressed key is NOT in those values
        break;
}

它们几乎是对等的,这都是风格的问题。