Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML/JavaScript“;如果!=&引用;它不起作用了_Javascript_Html_If Statement - Fatal编程技术网

HTML/JavaScript“;如果!=&引用;它不起作用了

HTML/JavaScript“;如果!=&引用;它不起作用了,javascript,html,if-statement,Javascript,Html,If Statement,我想用Javascript为一个小游戏编写一个HTML页面。 我有很多个s,每次点击都会向javascript发送一个不同的变量。 现在的问题是,我想为一个函数排除一些s,这应该适用于每个,除了排除的那些 我是这样写的: if (pressedKey != "Leertaste" || "Enter" || "StrgR" || "Alt" || "AltGr" || "Tab" || "ShiftL" || "StrgL" || "ShiftR"){ document.getEleme

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

我是这样写的:

if (pressedKey != "Leertaste" || "Enter" || "StrgR" || "Alt" || "AltGr" || "Tab" || "ShiftL" || "StrgL" || "ShiftR"){
    document.getElementById(pressedKey).innerHTML = "<img src=\"push1.png\">"
}
if(按键!=“Leertaste”| |“输入”|“StrgR”|“Alt”| |“AltGr”|“Tab”|“ShiftL”|“StrgL”|“ShiftR”){
document.getElementById(按键)。innerHTML=“”
}
但它不起作用。。它仍然会触发该功能,尽管按下的键是排除的键之一

我希望有人能帮忙


我想应该是,但我不确定,请试试:):

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

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

@nl的答案几乎是正确的(使用了错误的操作员),如果不雅观的话(无意冒犯!)。您还可以将所有值放入一个数组中,并检查
按键是否在该数组中

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;
}

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

是的,你不能像那样把
|
链接起来,这不是它的工作方式。如果(a!==1 | | | a!==2 | | a!==3)
等值得一提的话,那么用JS查找dupe.com将是
。写“我希望有人能帮上忙。3m7ecc”是多余的问题。希望被愚弄的帮助和快乐的编码!哦,好吧,我明白我的错误了。。谢谢编辑:但它似乎仍然不起作用..您的表达式将始终计算为true,因为您同时将同一变量与两个不同的值进行比较,并且使用OR运算符。例如,如果您有一个变量X,并且表达式
如果(X!=1 | | X!=2)
即使X==1,您的表达式也将为真,因为X!=2.您应该使用&&而不是| |谢谢!虽然很奇怪,但这一个有效,但@Deer Outdoor。nl的不行。嗯,当然。参见@Gabizish对另一个答案的评论,使用了错误的运算符。我也没看到。:)@SolarBear更新了答案。我的回答是基于他认为他需要什么,所以我把| |(or)操作符留在了。更新了我的答案tho:)
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;
}