Javascript 当用户空闲时触发事件,不在Firefox浏览器上工作

Javascript 当用户空闲时触发事件,不在Firefox浏览器上工作,javascript,jquery,firefox,Javascript,Jquery,Firefox,我有这个代码来检查用户是否在页面中处于活动状态。但一旦你把光标留在页面上,就不能在Firefox上工作了。似乎鼠标盖仍然被触发。但是在Chrome上工作得很完美 idleTimer = null; idleState = false; idleWait = 2000; (function ($) { $(document).ready(function () { $('*').bind('mousemove keydown scroll', function () {

我有这个代码来检查用户是否在页面中处于活动状态。但一旦你把光标留在页面上,就不能在Firefox上工作了。似乎鼠标盖仍然被触发。但是在Chrome上工作得很完美

idleTimer = null;
idleState = false;
idleWait = 2000;

(function ($) {
  $(document).ready(function () {
    $('*').bind('mousemove keydown scroll', function () {        
        clearTimeout(idleTimer);                    
        if (idleState == true) {                 
            // Reactivated event
            $("body").append("<p>Welcome Back.</p>");            
        }

        idleState = false;            
        idleTimer = setTimeout(function () {                 
            // Idle Event
            $("body").append("<p>You've been idle for " + idleWait/1000 + " seconds.</p>");
            idleState = true; }, idleWait);
        });

    $("body").trigger("mousemove");    
  });
}) (jQuery)
idleTimer=null;
idleState=假;
idleWait=2000;
(函数($){
$(文档).ready(函数(){
$('*').bind('mousemove keydown scroll',function(){
clearTimeout(idleTimer);
如果(idleState==true){
//重新激活事件
$(“正文”)。追加(欢迎回来。

); } idleState=假; idleTimer=setTimeout(函数(){ //空闲事件 $(“body”).append(您已空闲了“+idleWait/1000+”秒。

”; idleState=true;},idleWait); }); $(“body”).trigger(“mousemove”); }); })(jQuery)
遵循此教程链接:

请提供有关如何在Firefox浏览器上修复此问题的帮助。 谢谢:)

已解决 我正在用Ruby on Rails做这件事。 我将该文件放在assets/javascripts目录中。 最后通过将其添加到application.js中所需的js中解决了此问题,如:

//= require js_file
另外,删除jquery文档函数也很重要,因为它会在Firefox中导致相同的错误。仅将主js代码添加到文件中,它将自动加载:

要删除的重要信息: (函数($){}); $(document).ready(函数(){})

在代码的底部,添加如下内容:

$(document).ready(ready);
$(document).on("page:load", ready);

现在,Chrome和Firefox都可以正常工作。

我现在不确定,但是如果您可能添加了一种方法来检查窗口中鼠标位置的坐标,并且在检查移动事件的计时器间隔内,也检查坐标是否没有改变,该怎么办。如果这是Firefox中的一个bug,那么这个问题可能会得到解决。对不起,这不是一个答案,但只是一个想法,尝试,直到你能找到一个答案。