【问题标题】:Why is event.timeStamp 0 in firefox?为什么在 Firefox 中 event.timeStamp 为 0?
【发布时间】:2012-04-01 00:28:43
【问题描述】:

http://jsfiddle.net/wDddR/3/

var input = document.createElement("input");
input.onclick = function (ev) {
    console.log(ev.timeStamp === 0 ? "WHY IS IT ZERO" : "It's not broken");
};
input.click()

var ev = document.createEvent("Event");
console.log(ev.timeStamp === 0 ? "THIS IS MADNESS" : "At least this works");

在 Firefox 中,第一个 timeStamp 是 0,而在 chrome 中,时间戳是一个合理的数字。

在 Firefox 和 chrome 中,第二个 timeStamp 是一个合理的数字。

【问题讨论】:

    标签: javascript dom dom-events dom4


    【解决方案1】:

    http://api.jquery.com/event.timeStamp/

    注意:由于自 2004 年以来存在错误,因此未填充此值 在 Firefox 中正确,并且无法知道事件的时间 是在那个浏览器中创建的。

    Bug #238041 - nsDOMEvent::AllocateEvent assigns a PR_Now() into a PRUint32

    【讨论】:

    • firefox 你需要 8 年时间来修复 bug >:(
    【解决方案2】:

    W3C specification 声明:

    用于指定创建事件的时间(相对于纪元的毫秒数)。由于某些系统可能不提供此信息,timeStamp 的值可能不适用于所有事件。不可用时,将返回值 0。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2023-03-09
    • 2018-05-01
    • 1970-01-01
    • 2022-07-19
    • 2017-05-12
    • 1970-01-01
    • 2020-03-19
    相关资源
    最近更新 更多