【问题标题】:Write keycode to console. Repeatedly将键码写入控制台。反复
【发布时间】:2020-05-24 08:31:18
【问题描述】:

我有一个小的心理障碍:我有一个 html 中的 javascript 函数,它在按下键时编写键码。我已经将它连接到一个函数,该函数可以准确地告诉我按下了哪些字符和键码(不包括在内)。

我的问题是如何修改代码以在按键后按键后打印按键。目前它只做一个,然后就是这样。

我在css-tricks 上所做的工作有一个更好的版本,code here 诚然,后者正在运行 JS Babel,这可能会有所不同。但是,我需要在 纯 Javascript 中执行此操作。

加分:是按键一两个字;)

</script>
function check_keycode(e)
{
    var keycode;

    if (window.event)
    {
        keycode = window.event.keyCode;
    }
    else if (e)
    {
        keycode = e.which;
    }
    document.write("keycode: " + keycode);
    //console.log("keycode: " + keycode);
}
</script>

【问题讨论】:

  • 您基本上是在询问如何附加到文档而不是替换其内容。这就是人们永远不应该使用document.write 的原因。将其替换为document.body.innerHTML += "keycode: " + keycode + "&lt;br&gt;";(脚本开头还有一个结束脚本标记)
  • 重读这个,我有点误解了。要执行您想要的操作,请将 &lt;pre id="output"&gt;&lt;/pre&gt; 之类的内容添加到您的 &lt;body&gt;。然后使用output.textContent = "keycode: " + keycode;(另外,你要写入文档,而不是控制台)

标签: javascript html keyboard


【解决方案1】:

我想你想要这样的东西。我尝试使用 chrome 控制台。

HTML

<p id="log"></p>

JS:

const log = document.getElementById('log');

document.addEventListener('keypress', logKey);

function logKey(e) {
  log.textContent += ` ${e.key}`;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 2017-09-30
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    相关资源
    最近更新 更多