Firefox 键盘事件的时间戳值不正确
Firefox keyboard events have incorrect timeStamp values
我有一些软件可以记录每次击键的时间。我正在使用 keyup
和 keydown
事件来获取上升和下降时间。这些事件有一个参数,timeStamp
,相对于纪元 should be 毫秒。在 Firefox 上,这是毫秒,但从纪元开始就太小了。这对我来说在 Chrome 和 Safari 上正常工作。
这是我正在使用的代码片段:
function keyDownHandler(event) {
var key = event.which,
when = event.timeStamp;
...
}
function keyUpHandler(event) {
var key = event.which,
when = event.timeStamp;
...
}
$(element).keydown(keyDownHandler);
$(element).keyup(keyUpHandler);
我是不是漏掉了什么?一种简单的重现方法是查看 JQuery 的 keyup 页面并输入他们的演示。使用 Chrome 和 Safari,返回的时间戳值为 1446582863442,但在 Firefox 中为 2444770694。
这是一个open issue from 2004, and affects other events too. The issue is that Firefox is using a different epoch time;而不是 unix Epoch 时间,它似乎正在使用系统启动时间。
来自 timeStamp
属性的 W3 定义:
Due to the fact that some systems may not provide this information the value of timeStamp
may be not available for all events. When not available, a value of 0 will be returned. Examples of epoch time are the time of the system start or 0:0:0 UTC 1st January 1970.
我有一些软件可以记录每次击键的时间。我正在使用 keyup
和 keydown
事件来获取上升和下降时间。这些事件有一个参数,timeStamp
,相对于纪元 should be 毫秒。在 Firefox 上,这是毫秒,但从纪元开始就太小了。这对我来说在 Chrome 和 Safari 上正常工作。
这是我正在使用的代码片段:
function keyDownHandler(event) {
var key = event.which,
when = event.timeStamp;
...
}
function keyUpHandler(event) {
var key = event.which,
when = event.timeStamp;
...
}
$(element).keydown(keyDownHandler);
$(element).keyup(keyUpHandler);
我是不是漏掉了什么?一种简单的重现方法是查看 JQuery 的 keyup 页面并输入他们的演示。使用 Chrome 和 Safari,返回的时间戳值为 1446582863442,但在 Firefox 中为 2444770694。
这是一个open issue from 2004, and affects other events too. The issue is that Firefox is using a different epoch time;而不是 unix Epoch 时间,它似乎正在使用系统启动时间。
来自 timeStamp
属性的 W3 定义:
Due to the fact that some systems may not provide this information the value of
timeStamp
may be not available for all events. When not available, a value of 0 will be returned. Examples of epoch time are the time of the system start or 0:0:0 UTC 1st January 1970.