使用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/处理了整个文档,但不是一个元素。
答案 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语句,它都可以正常工作;如果你不这样做。