我一直希望Javascript触发一个按钮,该按钮将保存多个文本框中的值,并在按下输入键后触发另一个元素的重置按钮以加载值。我知道2个按钮工作正常,但我按键触发器的Javascript代码没有。
示例:
假设我有这个Javascript代码:
document.getElementById("savevalues")
.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode == 13) {
document.getElementById("reset").click();
}
});
让我说我有以下HTML:
<html>
<body>
<button onclick="savevalues()" id="savevalues">Button 1</button>
<button onclick="reset()" id="reset">Button 2</button>
</body>
</html>
我做错了什么?如果您需要查看Javascript和HTML代码,这里是我的github项目的链接:https://github.com/jamesestes1711/2048-hacked Javascript文件位于js文件夹中,名为:game_manager.js,keypress代码位于文件的底部。 HTML代码位于主文件夹中,名为:play.html。
修改
我尝试将.click()更改为reset(),但仍然没有更改。
答案 0 :(得分:0)
尝试更改此代码:
document.getElementById("restart").click();
到
document.getElementById("reset").click();
以便JS匹配HTML元素
答案 1 :(得分:0)
您在此处发布的代码应与您使用&#34; reset&#34;作为ID并尝试使用&#34;重新启动&#34;。
来引用它我看了你的项目,你正确使用&#34;重启&#34;对彼此而言。但是,在你的game_manager.js中,你试图用ID&#34; savevalues&#34;来引用元素。与document.getElementById("applyvalues")
。
那就是你的问题。
答案 2 :(得分:-1)
抱歉,错过了&#39;输入&#39;关键部分。
向文档添加事件侦听器:
document.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode == 13) {
document.getElementById("reset").click();
}
});