有没有办法让"enter"击键单击特定按钮?



所以我正在设置一个具有以下键和输入的虚拟键盘,以及一个带有动态点击功能的主按钮。我希望能够按回车键并点击该主按钮,但由于某种原因它不起作用。当我按回车键时,它将单击我按下的最后一个按钮

我试过使用这个函数

input.addEventListener("keyup", function(event) {
            event.preventDefault();
            if (event.keyCode === 13) {
                document.getElementById("MasterButton").click();
            }
        });

但它没有用。系统识别击键,但它也可能只是默认值。

<div id="VirtualKey" style="float:left">
                        <input id="btn1" type="button" onclick="input(this);" class="keypad" value="1" />
                        <input id="btn2" type="button" onclick="input(this);" class="keypad" value="2" />
                        <input id="btn3" type="button" onclick="input(this);" class="keypad" value="3" />
                        <br />
                        <input id="btn4" type="button" onclick="input(this);" class="keypad" value="4" />
                        <input id="btn5" type="button" onclick="input(this);" class="keypad" value="5" />
                        <input id="btn6" type="button" onclick="input(this);" class="keypad" value="6" />
                        <br />
                        <input id="btn7" type="button" onclick="input(this);" class="keypad" value="7" />
                        <input id="btn8" type="button" onclick="input(this);" class="keypad" value="8" />
                        <input id="btn9" type="button" onclick="input(this);" class="keypad" value="9" />
                        <br />
                        <input id="btn0" type="button" onclick="input(this);" class="keypad" value="0" />
                        <input id="btn." type="button" onclick="input(this);" class="keypad" value="." />
                        <input id="btnDel" type="button" value="DEL" onclick="del();" class="keypad"></button>
                    </div>
<div id="Master Input Section"><br><input type="number" step="0.1" id="Student"></input>
<div id="Master Button Section"><br><button type="submit" id="MasterButton" class="button" onclick="">Master</button></div>

    <script>
        function input(e) {
            // Get the TextBox object.
            var tbInput = document.getElementById("Student");
            // As e is the button, its value is the text on it.
            // Add the value to the TextBox.
            tbInput.value = tbInput.value + e.value;
        }
        function del() {
            // Get the TextBox object.
            var tbInput = document.getElementById("Student");
            // Remove the last char in the TextBox.
            tbInput.value = tbInput.value.substr(0, tbInput.value.length - 1);
        }
    </script>

预期结果,回车键将单击主按钮

更新发现错误代码类型错误:input.addEventListener 不是函数[了解更多]

var ENTER_KEY = 13;
$(document).on('keypress', function(e) {
  var code = e.keyCode || e.which
  if (code == ENTER_KEY) {
    $("#MasterButton").trigger("click");
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

我以前没有尝试过使用这种方法,因此这很奇怪。我搜索了网络的大部分内容,试图找到一种方法来让它工作,但幸运的是,我在另一篇文章中找到了它

<input type="number" step="0.1" id="Student" onkeydown="if (event.keyCode == 13)
                        document.getElementById('MasterButton').click()"></input>

希望这在不久的将来对某人有所帮助。 但这确实将该输入字段上的 Enter 键绑定到主按钮。请注意,我只有一个输入字段,只有一个按钮可以动态处理代码的其他部分

最新更新