我正在构建一个小型打字机应用程序,我在检测按下的按钮是否与span元素的值相对应时遇到问题。
基本上,我有两个div,其中包含不同字母值的跨度。 我将跨度存储在名为leftPartSpans和rightPartSpans的变量中。所以我基本上尝试用循环遍历每个项目,看看它们中的任何字符是否对应于keyCode:
for (i=0; i<leftPartSpans.length; i++) {
if(pressedKey == leftPartSpans[i].nodeValue) {
leftPart.style.webkitTransform = "rotateZ(20deg)";
}
}
不幸的是,这并没有成功。您可以在http://codepen.io/gbnikolov/pen/wJHhk
查看整个项目提前致谢, 的Georgi
答案 0 :(得分:2)
keydown
和keyup
不会为大写和小写字母发送不同的密钥代码。因此,当您使用其中任何一个事件时,pressedKey
始终是一个大写字母。由于您的所有跨度都包含小写字母,因此它们永远不会匹配,并且永远不会触发if
块
您可以使用keypress
来为大写和小写发送不同的键码。
document.querySelector('body').addEventListener('keypress', function(e) {
//...
});