当我按下“S”键时,我有一个增加变量“money”的代码,我想在按下按钮时更改值,但它不起作用。
感谢。
增加“钱”:
document.addEventListener('keydown', function(event) {
console.log("Event");
if(event.keyCode == 83) {
console.log("Key Pressed");
document.getElementById("key").innerHTML = "<img src=\"stick2.gif\">";
shoot -= 1;
document.getElementById("shoot").innerHTML = shoot;
if(shoot > 0){
money += 4;
document.getElementById("money").innerHTML = money;
document.getElementById("cash").innerHTML = "<img src=\"money.png\">";
}
}
}
更改值:
function onClick12() {
document.getElementById("ak").innerHTML = "<img src=\"ak/ak1.png\">";
document.getElementById('b1').disable = true;
if(event.keyCode == 83 && shoot > 0) {
money += 8;
document.getElementById("money").innerHTML = money;
document.getElementById("cash").innerHTML = "<img src=\"money.png\">";
}
}
function onClick13() {
document.getElementById("ak").innerHTML = "<img src=\"ak/ak4.png\">";
document.getElementById('b4').disable = true;
if(event.keyCode == 83 && shoot > 0) {
money += 12;
document.getElementById("money").innerHTML = money;
document.getElementById("cash").innerHTML = "<img src=\"money.png\">";
}
}
按钮:
<input type="button" onclick="onClick12()" id="b1" value="Use">
<input type="button" onclick="onClick13()" id="b4" value="Use">
答案 0 :(得分:1)
if(event.keyCode == 83 && shoot > 0)
变量事件未在函数onClick12 / 13的范围内定义 请注意,如果您仍然从onclick事件中获取事件数据,则您将没有密钥代码,因为click事件不会嵌入keybaord信息。
但是你真的希望你的用户按一个键然后点击你想要的吗? 如果是这样的话,我建议你捕获一个keydown事件,在变量中注册当前按下的键和一个keyup事件来重置该值。
该变量应该在函数外部定义,以便其他函数可以访问它。这是基本的东西
var key83Pressed = false;
document.addEventListener('keydown', function(event) {
key83Pressed = event.keyCode == 83;
}
function onCLick12(){
if(key83Pressed){
}
}
document.addEventListener('keyup', function(event){
if(event.keyCode==83){
key83Pressed = false;
}
});