javascript - 如何为游戏制作点击键盘
问题描述
我正在使用 vanilla javascript、html 和 css 构建一个 Hangman 游戏。我有一个用 HTML 制作的屏幕键盘。我需要这样做,以便当您单击或按下某个键时,它会将按下的字母记录到屏幕上。我试过给每个键一个 onclick 事件,但到目前为止还没有奏效。
欢迎任何建议。我还需要 Javascript 部分的建议。
解决方案
你的字母数组怎么样,使用 javascript map 函数为每个字母构建你的按钮。然后循环并添加一个事件处理程序来记录按钮单击的值。
在下面运行代码段
const letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
const content = letters.map(x => `<button type="button" class="btn btn-secondary letter-button" value="${x}">${x}</button>`);
const div = document.getElementById('buttonGroup')
const output = document.getElementById('output');
div.innerHTML += content;
Array.from(document.getElementsByClassName("letter-button"))
.forEach((e) => e.addEventListener('click', () => output.innerHTML += e.value));
<div class="container">
<div class="row">
<div class="btn-group" role="group" aria-label="Basic example" id="buttonGroup">
</div>
</div>
<div class=row>
<span class="badge badge-secondary" id="output"></span>
</div>
</div>
推荐阅读
- javascript - 如何解决 POST 400 {bad Request} ReactJS
- tosca - 如何验证没有内部文本的 tosca 中的链接文本值
- django - Django 模型转换为 HTML。然后,HTML转PDF
- webassembly - 将 libsoxr 构建到 Webassembly 会导致函数签名不匹配错误
- laravel - 为同名但模型不同的表单字段添加验证规则
- sap-cloud-sdk - 使用 S4HANA 可扩展服务 - VDM 方法或其他方式
- python - 如何从单词文件的几行中拆分每个单词?(Python)
- scala - 执行方法,其中方法名称在列表中
- angular - 在 Anuglar 中的刷新调用后无法重试相同的请求
- php - 通过简码获取 Woocommerce 产品标签帖子计数