JQuery idletimer没有触发元素

时间:2014-03-26 13:37:43

标签: javascript jquery idle-timer

使用https://github.com/thorst/jquery-idletimer中可爱的Jquery idletimer:似乎我无法将空闲计时器附加到特定元素(而不是整个文档)。这是我非常简单的代码:

触发空闲计时器:

$("#testme"  ).on( "idle.idleTimer", function(event, elem, obj){ $("#test").html("now idle");});
$( "#testme" ).on( "active.idleTimer", function(event, elem, obj, triggerevent){ $("#test").html("not idle");});
$( "#testme" ).idleTimer(3000);

在文档中调用它:

<div id="testme" style="border: solid;"><p id="test">I am idle</p></div>

这就是事情。如果我用$(文档)替换$(“#testme”)它可以正常工作。但不是当它附加到div元素时。我使用的是jquery-1.11.0.js,jquery.mobile-1.4.2和idle-timer.js。

更新:我现在在http://jsfiddle.net/peterrr73/C3w7f/有一个jsFiddle,显示这个半工作,在元素的附件上。正如小提琴所示:闲置的火灾;然后是主动火灾 - 但由于某种原因它停止了。感谢Jeromy French帮助jsFiddle;他在http://jsfiddle.net/jhfrench/2aGL4/12/处理了整个文档,但不是一个元素。

1 个答案:

答案 0 :(得分:0)

现在正在运作.. 请参阅http://jsfiddle.net/peterrr73/C3w7f/3,其中包含两个独立的div元素,每个元素仅响应该div中的事件:

<div id="testme" style="border: solid;"><p id="test">I am idle</p></div>
<div id="testme2" style="border: solid;"><p id="test2">I am idle</p></div> 

(function ($) {    
   $("#testme"  ).on( "idle.idleTimer", function(event, elem, obj){ $("#test").html("I am very idle");});
   $( "#testme"  ).on( "active.idleTimer", function(event, elem, obj, triggerevent){ $("#test").html("not idle");});
   $( "#testme" ).idleTimer(3000);
   $("#testme2"  ).on( "idle.idleTimer", function(event, elem, obj){ $("#test2").html("I am very idle");});
   $( "#testme2"  ).on( "active.idleTimer", function(event, elem, obj, triggerevent){ $("#test2").html("not idle");});
    $( "#testme2" ).idleTimer(3000);
 })(jQuery);

不确定为什么它不起作用...如果你在(function($){})(jQuery)中包装timer语句,它都可以正常工作;如果你不这样做。