4

嗨,我正在使用 jquery。

我有一个复选框点击事件

jQuery('.btn-check-box').click(function () {

    //code goes here .
});

问题是点击事件需要相当长的时间才能完成。有时浏览器会卡住。所以我想更改函数内部的代码并减少完成时间。

现在我想获取我当前的点击事件完成时间。然后更改代码并再次检查完成时间。

所以我可以根据完成时间优化我的代码。

有什么方法可以检查事件完成时间。 请帮忙。提前致谢。

4

3 回答 3

6

将事件作为参数传递。

var createdTime;
jQuery('.btn-check-box').click(function(e){ 
  createdTime = e.timeStamp;
}).done(function(){ calculate time difference });

如果您将使用console.log(e)它,它将向您显示 jQuery 在触发事件时已经传递了时间戳。

所以现在你需要在完成时找到一种方法,这样.done()jQuery 方法会帮助你。

在 .done() 中,您也可以得到相同e.timestamp的结果并进行一些数学运算,以在秒、分钟或任何时间内得到您想要的输出。

于 2013-03-08T06:25:12.137 回答
1

就像 SrinivasR 说的,完成时间 - 开始时间。

jQuery('.btn-check-box').click(function () {
    var t0 = (new Date()).getTime();
    //code goes here
    console.log("Event took",(new Date()).getTime() - t0, "ms to complete.");
});
于 2013-03-08T06:25:55.913 回答
1

尝试以下代码

jQuery('.btn-check-box').click(function () {
var secondStart = new Date().getTime() / 1000;
    // Your code goes here .
var secondEnd = new Date().getTime() / 1000;
var totalTime = secondEnd - secondStart;
console.log('Executing took' +totalTime +'seconds' )
});
于 2013-03-08T06:28:09.327 回答