我正在开发一项在线研究/调查,我需要计算参与者的击键次数。我要求他们在文本字段中输入 lrlrlrlrlrlrl... 以模拟步行。事实证明,许多参与者(正如在任务上花费的时间所证明的那样)正在复制和粘贴。
我需要一些可以计算击键次数的东西,这样我就可以识别出按要求完成任务的参与者。这项研究是在 Coldfusion 中编程的,我正在考虑某种 javascript/onkeydown/隐藏文件字段组合,但我并不是真正的程序员。
任何帮助,将不胜感激。谢谢。
我正在开发一项在线研究/调查,我需要计算参与者的击键次数。我要求他们在文本字段中输入 lrlrlrlrlrlrl... 以模拟步行。事实证明,许多参与者(正如在任务上花费的时间所证明的那样)正在复制和粘贴。
我需要一些可以计算击键次数的东西,这样我就可以识别出按要求完成任务的参与者。这项研究是在 Coldfusion 中编程的,我正在考虑某种 javascript/onkeydown/隐藏文件字段组合,但我并不是真正的程序员。
任何帮助,将不胜感激。谢谢。
HTML:
<input type="text" class="nopaste"/>
<input type="text" id="countstroke"/>
<span id="count"></span>
Javascript:
var strokeCount = 0;
$(function(){
$(".nopaste").bind("copy paste", function(e){
e.preventDefault();
});
$("#countstroke").keyup(function(){
$("#count").text("Count: " + (++strokeCount));
});
});
如果你想更进一步,你可以强制只注册 L 和 R 键(http://jsfiddle.net/kBJGM/5/):
$("#restrictivecount").keypress(function(e){
var seq = rstrokeCount % 2;
var allow = true;
switch(e.keyCode){
case 76:
case 108: // L or l
if (seq == 1) allow = false;
break;
case 82:
case 114: // R or r
if (seq == 0) allow = false;
break;
default:
allow = false;
break;
}
if (allow)
$("#rcount").text("Count: " + (++rstrokeCount));
else
e.preventDefault();
});
var keyPressCount = 0;
$(document).on("keydown",function(){
keyPressCount++;
});
看看这个小提琴
count=0;
$(document).bind('keydown', function(event){
var keyCode = event.keyCode;
switch(keyCode){
case 39:
alert('Right arrow was pressed');
count++;
break;
case 37:
alert('Left arrow was pressed');
count++;
break;
}
});
您必须拥有 jQuery 库才能完成这项工作。