Html 有没有一种方法可以做一个;输入“;击键单击特定按钮?
因此,我正在设置一个虚拟键盘,包括以下按键和输入,以及一个带有动态onclick功能的主按钮。我希望能够按下回车键并按下主按钮,但由于某些原因它无法工作。当我按enter键时,它将单击我按下的最后一个按钮 我试着使用这个函数Html 有没有一种方法可以做一个;输入“;击键单击特定按钮?,html,enter,Html,Enter,因此,我正在设置一个虚拟键盘,包括以下按键和输入,以及一个带有动态onclick功能的主按钮。我希望能够按下回车键并按下主按钮,但由于某些原因它无法工作。当我按enter键时,它将单击我按下的最后一个按钮 我试着使用这个函数 input.addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) {
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>
主人
功能输入(e){
//获取TextBox对象。
var tbInput=document.getElementById(“学生”);
//由于e是按钮,其值为按钮上的文本。
//将值添加到文本框中。
tbInput.value=tbInput.value+e.value;
}
函数del(){
//获取TextBox对象。
var tbInput=document.getElementById(“学生”);
//删除文本框中的最后一个字符。
tbInput.value=tbInput.value.substr(0,tbInput.value.length-1);
}
预期结果,按enter键将单击Master按钮
更新发现错误代码TypeError:input.addEventListener不是函数[Learn More]我以前没有尝试过使用此方法,因此这很奇怪。我在网上搜索了大部分内容,试图找到一种方法让它发挥作用,但谢天谢地,我在另一篇文章中找到了它
<input type="number" step="0.1" id="Student" onkeydown="if (event.keyCode == 13)
document.getElementById('MasterButton').click()"></input>
希望这对不久的将来有帮助。但这会将输入字段上的enter键绑定到MasterButton。请注意,我只有一个输入字段,只有一个按钮可以与代码的其他部分动态工作
var回车键=13;
$(文档).on('keypress',函数(e){
var code=e.keyCode | | e
如果(代码==输入_键){
$(“#主按钮”)。触发器(“单击”);
}
});代码>
对于记录来说,发布问题的新格式是确认的,因此,直接在键启动处理程序中调用点击处理程序功能是不可能的?这里有几种可能性:1)主按钮上似乎没有附加点击事件。(您是否希望它提交表单?如果需要,则需要一个带有操作URI的表单标记)2)您正在调用input.addEventListener
来附加您的keyup事件,但尚未显示您定义input
的位置;你确定这是附加到你想要的元素上的吗?这里发生了什么,这是测验功能的一部分,主按钮的ID会动态变化。我去寻找多个答案并尝试将该输入拉入我的代码中。addEventListener并尝试将其绑定到Enter键,但我不能100%确定它为什么不起作用…@AlexCarlson#主输入部分
和#主按钮部分
id无效。id或类中不允许使用空格。此外,标记是没有结束标记的无效元素,除非您使用HTML4(非常可疑)。如果您可以在解决方案中包含按钮,以显示它确实有效,那就太好了。