简单javascript击键计数

简单javascript击键计数,javascript,jquery,count,keystroke,onkeydown,Javascript,Jquery,Count,Keystroke,Onkeydown,我正在开发一个在线研究/调查,我需要计算参与者的击键次数。我要求他们输入LRL。。。在文本字段中模拟行走。事实证明,许多参与者(从任务花费的时间可以看出)都在复制和粘贴 我需要的东西,将计数击键,这样我就可以确定谁完成了要求的任务的参与者。这项研究是用Coldfusion编写的,我曾考虑过某种javascript/onkeydown/hidden file-field组合,但我不是真正的程序员 任何帮助都将不胜感激。谢谢 var keyPressCount = 0; $(document).o

我正在开发一个在线研究/调查,我需要计算参与者的击键次数。我要求他们输入LRL。。。在文本字段中模拟行走。事实证明,许多参与者(从任务花费的时间可以看出)都在复制和粘贴

我需要的东西,将计数击键,这样我就可以确定谁完成了要求的任务的参与者。这项研究是用Coldfusion编写的,我曾考虑过某种javascript/onkeydown/hidden file-field组合,但我不是真正的程序员

任何帮助都将不胜感激。谢谢

var keyPressCount = 0;

$(document).on("keydown",function(){
   keyPressCount++;
});
看看这个

HTML:

如果您想更进一步,可以强制只注册L和R密钥():


您必须拥有jQuery库才能执行此操作。

您可以使用jQuery注册keyup事件,并计算引发此事件的时间,这样您就可以知道按下了多少键。谢谢!另一个愚蠢的问题,但是我如何把它转换成一个可以传递到数据库的表单变量呢?这是两种可能的解决方案。第一种是防止复制/粘贴。第二个答案计算击键次数,但它们仍然可以复制/粘贴。bind是jqueryeah中的一个函数,它是一个方法或函数,而不是像您编写jQuery插件那样。
<input type="text" class="nopaste"/>
<input type="text" id="countstroke"/>
<span id="count"></span>​
var strokeCount = 0;

$(function(){

    $(".nopaste").bind("copy paste", function(e){
        e.preventDefault();
    });

    $("#countstroke").keyup(function(){
        $("#count").text("Count: " + (++strokeCount));
    });
});​
$("#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();
});
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;
    }
});