如何在短时间内记录按键/键盘事件

How to log key presses/keyboard events for a short period of time?

本文关键字:键盘 事件 记录 短时间      更新时间:2023-09-26

我正在用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);
$( yourelement ).on( "keypress", function() {
   //do something
});
setTimeout(function(){ 
    $( yourelement ).off( "keypress" ); 
}, 3000); //time out after 3 seconds