javascript - 如何记录短时间内的按键/键盘事件?

标签 javascript jquery keyboard

我正在用 Javascript 编写一个心理学实验,并且只需要记录一段时间内的按键操作。我已经花了四个小时在谷歌上搜索,但仍然不知道如何做到这一点,即使是不优雅的。

我使用以下方式读取键盘事件:

$(document).keydown(function (event) {  ...... }  

我认为如果我让人们通过鼠标单击按钮做出响应(添加监听器事件?),会更容易,但是:

  • 我无法通过鼠标点击收集回复;

  • 我不知道如何向文档添加/分离监听器(也许 这不是问题)

同事们通过在实验的每次迭代/试验中重新加载页面来实现这一点,但这对我来说不是一个选择。

有人可以帮我吗?

最佳答案

jQuery 允许您在事件名称后添加命名空间(在句点之后),从而允许它唯一标识事件处理程序,以便以后使用完全相同的名称进行删除。

您需要使用 on 来代替:

// Use on with a namespaced event
$(document).on('keydown.mytest', function (event) {
   // record keys
});

// After 5 seconds...    
setTimeout(function(){
    // turn off the specific keydown event we registered above
    $(document).off('keydown.mytest');
}, 5000);

关于javascript - 如何记录短时间内的按键/键盘事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35296536/

相关文章:

c++ - 在 Linux 上测试按键是否被按下而不阻塞

javascript - Ramda 建议从稍微嵌套的数组中删除重复项

javascript - Karma 覆盖范围无法识别分支测试

javascript - 点击一定次数的切换按钮后, map 标记会消失

jquery - IE 特定 - 当 jquery 设置为 ""时,闪烁的光标在文本类型的输入中消失

Android TabBar - 随着键盘打开而向上滑动

JavaScript while 循环条件

javascript - 如何滋润 WinJS.Class

javascript - 试图在单击时获取链接以在 div 中显示数据?

ios - 文本字段隐藏聊天的最后一条消息 - Swift