javascript - 添加使用现有功能的按键事件

标签 javascript dom-events keyboard-events

我使用了一个在点击事件时激活的功能。我想使用按键事件做同样的事情。

function addToText(target) {

  var exp = target.target;
  //alert(exp.value);
  if (newExp) {

    //clearText();
    document.getElementById("expression").value = exp.value;
    newExp=false;

  } 

  else
    document.getElementById("expression").value = document.getElementById("expression").value + exp.value;

}

这是使用的函数。我如何修改它以也用于按键事件。目前,它最初不起作用(对于按键事件)。但是点击一次后,任何按键都会返回与之前点击的相同的数字。

完整代码在这里:http://codepen.io/jpninanjohn/pen/JXVpYb?editors=1010

最佳答案

这是你的最终解决方案,我测试 charcode 是否在 48 到 57 之间,这意味着什么,0 到 9 之间的数字。

   document.addEventListener('keypress', function(e){
      if (e.which >= 48 && e.which <= 57)
        document.getElementById("expression").value+= String.fromCharCode(e.which);
    });

关于javascript - 添加使用现有功能的按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37249531/

相关文章:

javascript - codePointAt 和 charCodeAt 的区别

javascript - 从源 'file:///sample.txt' 访问位于 'null' 的 XMLHttpRequest 被 CORS 策略 : CORS are only supported for protocol schemes 阻止

javascript - 不同事件监听器中的可变可访问性

javascript - 如何改进 JavaScript 的结构以更好地利用 OOP

python - 同时使用 Matplotlib Slider 和 key_release_event

javascript - 如何在 Selenium IDE 中创建自定义函数?

javascript - 旋转分层条形图

javascript - getComputedStyle 和转换

javascript - 引用错误 : event is not defined in mozila firefox

haskell - 使用 Haskell 处理联合按键