javascript - 如何通过 Javascript 在按键上更改输入 [type=number] 的值?

标签 javascript

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

我还想分配键码来更改一对 input[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">

假设我想添加 #whateverID1= 的值并减去 #whateverID1- 的值,感谢有关我如何实现这一目标的任何指南。非常感谢。

我已经试过了,但似乎没有用。

var CounterName = 0; 
if(e.keyCode == 49 ) {
document.getElementById('whateverID1').value = ++CounterName;
} 
if(e.keyCode == 50 ) { 
document.getElementById('whateverID1').value = --CounterName; 
}

最佳答案

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

在下面试试这个,jsfiddle 正在工作,应该让你做你想做的事:

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

http://jsfiddle.net/Maxmaxs5/7thqo0zs/7/

如果这对您有帮助或您需要任何其他信息,请告诉我!

关于javascript - 如何通过 Javascript 在按键上更改输入 [type=number] 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51690980/

相关文章:

javascript - 尚未为模型注册架构

javascript - 使用 JavaScript 更改文本框背景颜色

javascript - 在 for...of 循环而不是 forEach 中创建 Promises?

javascript - 如何使用 jQuery 替换类

javascript - 如何让 jQuery DatePicker 在调用时不破坏 <span> 或 &lt;input&gt; 元素?

javascript - 将访问者重定向到另一个页面的最可靠方法是什么?

javascript - 将值从 html <select multiple> 复制到剪贴板

javascript - 使用 AJAX 通过 Ruby on Rails 验证优惠券后获取数据

javascript - 按顺序将动态创建的文本框值存储在 javascript 数组中

javascript - 隐藏图像的左半部分并在图像悬停时显示左半部分