如何使用按钮将文本插入文本字段而不重置它

时间:2017-06-23 07:25:14

标签: javascript html frontend

我在下面评论了解决方案(使用马格努斯的建议)

我目前有一个按钮+跨度设置,用于在计算器应用程序中键入数字。我希望用户能够使用键盘单击按钮AND类型。理想情况下,用户可以键入2个字母,然后使用2个字母的按钮,没有任何问题。

或者这可能是错误的方法吗?相反,我应该为用户提供一个或另一个的选择。

我不确定。您可以给予的任何指导都将真正受到赞赏。感谢您抽出时间来阅读。

(不确定真正包含哪些代码,所以我选择链接到笔)

以下是笔:https://codepen.io/yinuo/pen/dRYJEj

    function update(){
    totalString = inputs.join("");
    $("#steps").html(totalString);
  }

  function getTotal(){
        totalString = inputs.join("");
    $("#steps").html(eval(totalString));

2 个答案:

答案 0 :(得分:1)

你可以听一下keyup - 事件:

document.addEventListener('keyup', function(evt) {
  var key = evt.key.toLowerCase();
  // Add more keys to list to listen for other buttons
  if (key in ['1', '2', '3', '4', '5', '6', '7', '8', '9']) {
    // May need to map keys to specific ids
    document.getElementById(key).click()
  }
})

答案 1 :(得分:1)

在Magnus的重大回复之后,我进行了一些实验,我找到了一个代码,允许用户输入他们想要的字段。

 document.addEventListener('keyup', function(evt) {
  var key = evt.key.toLowerCase();
    if (key in ['1', '2', '3', '4', '5', '6', '7', '8', '9']) 
    getValue(key);

  else
    document.getElementById(key).click()
})



function getValue(input){   
  inputs.push(input);
   update();
       console.log(inputs);
}