我在Javascript编写心理学实验,只需要在一段时间内录制按键。我现在花了四个小时谷歌搜索,仍然无法弄清楚如何做到这一点,甚至是不优雅的。
我使用以下方式阅读键盘事件:
$(document).keydown(function (event) { ...... }
如果我通过鼠标点击按钮(添加监听器事件?)让人们做出回应,我认为这会更容易,但是:
我无法通过鼠标点击收集回复;
我无法想象如何在文档中添加/分离侦听器(可能是 这不是问题)
同事通过在实验的每次迭代/试验中重新加载页面来实现这一目标,但这不是我的选择。
有人可以帮帮我吗?
答案 0 :(得分:2)
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);
答案 1 :(得分:0)
$( yourelement ).on( "keypress", function() {
//do something
});
setTimeout(function(){
$( yourelement ).off( "keypress" );
}, 3000); //time out after 3 seconds