如何衡量按下2次按钮之间的时间?

时间:2011-03-05 13:22:04

标签: php javascript jquery time click

我正在建立一个网站,用户反复点击按钮以提高他/她的分数。为了防止人们作弊,我想测量每次点击之间的时间,如果他们点击非常快,点击之间的时间很短,我想要一个CAPTCHA或其他东西。

我如何衡量点击之间的时间?

2 个答案:

答案 0 :(得分:4)

点击处理程序只能将时间戳维护为JavaScript“Date”实例。减去其中两个,你有间隔(毫秒)。

请注意,时钟精度不一定非常高,人类可以快速生成点击。我认为Windows不会比15毫秒的粒度更好。

答案 1 :(得分:3)

我的建议如下:

$('button').click((function() {
    var history = [],
        last    = +new Date();

    return function(e) {
        history.push(e.timeStamp - last);

        console.log(history[history.length - 1]);
        last = e.timeStamp;
    };
}()));

这将输出&存储两次点击之间的差异,以毫秒为单位。您可以使用历史数组来获取平均值,并检查是否低于50毫秒等。

演示http://jsfiddle.net/TxKjT/

平均检查演示http://jsfiddle.net/TxKjT/2/

相关问题