单击按钮时更改值

时间:2016-02-02 10:18:53

标签: javascript html

当我按下“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">

1 个答案:

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

});