如何通过Javascript更改按键时输入[type=number]的值?

如何通过Javascript更改按键时输入[type=number]的值?,javascript,Javascript,我已经有了一系列按键事件来触发一些声音,运行倒计时时钟等等 我还想分配keycode来更改两个输入[type=number]的值,每次按一个键,以-1/+1的增量减去或增加值。我做了一些搜索,但不能真正给我最终的指导 这是我的标题 function runScript(e){ if(e.keyCode == 32 && e.shiftKey){ gameclock(); }} 在我的html上 <body onkeydown="runScript(event)"&g

我已经有了一系列按键事件来触发一些声音,运行倒计时时钟等等

我还想分配keycode来更改两个
输入[type=number]
的值,每次按一个键,以-1/+1的增量减去或增加值。我做了一些搜索,但不能真正给我最终的指导

这是我的标题

function runScript(e){
if(e.keyCode == 32 && e.shiftKey){
   gameclock();
}}
在我的html上

<body onkeydown="runScript(event)"> 
...
<input id="whateverID1" type="number" value="00">

首先,在html中使用onclick/onkeydown通常是不好的做法。相反,给元素一个id或类,并从JS添加一个eventListener

尝试下面的方法,JSFIDLE正在工作,应该可以让您做您想做的事情:

document.getElementById("bodyId").addEventListener("keydown", function (event) {
  var CounterName = 1;
  var currentValue = parseInt(document.getElementById('whateverID1').value);

  if(event.keyCode == 187) {
    document.getElementById('whateverID1').value = currentValue + CounterName;
  }
  else if(event.keyCode == 189) { 
    document.getElementById('whateverID1').value = currentValue - CounterName;
  }
});


如果这有帮助或者你还需要什么,请告诉我

谢谢@kieran mcwilliamw。如果(event.key==“=”&&event.shiftKey)对组合键不起作用,请在这里快速输入一个
,好吧,因为某种原因,一旦你尝试使用组合键,
key
不起作用,所以
keyCode
实际上更好。尝试
如果(event.keyCode==187&&event.shiftKey)
=的代码是187,-的代码是189。如果您需要查找其他键的键码,您可以查找它们,或者只需执行
console.log(event.keyCode)
。字符代码和钥匙代码不一样,我相信这很容易让人绊倒。希望能解决它,如果是这样让我知道!它起作用了!非常感谢你。但是它杀死了我的另一个函数
$('.home-input[type=number])oopsErm我不确定这两个函数之间有何关联/一个函数如何杀死另一个。。我需要看更多的代码来帮助你,也许给我发电子邮件?
document.getElementById("bodyId").addEventListener("keydown", function (event) {
  var CounterName = 1;
  var currentValue = parseInt(document.getElementById('whateverID1').value);

  if(event.keyCode == 187) {
    document.getElementById('whateverID1').value = currentValue + CounterName;
  }
  else if(event.keyCode == 189) { 
    document.getElementById('whateverID1').value = currentValue - CounterName;
  }
});