jQuery的idletimer工程的jsfiddle,而不是在浏览器
我深感不解......jQuery的idletimer工程的jsfiddle,而不是在浏览器
了一两天,以前,我发布了关于使用idletimer的连接到一个元素的查询,从而使事件会或不火的活动/不存在活动的页面上的特定元素,如下所示:
$("#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);
我似乎得到这个工作:你可以看到它在http://jsfiddle.net/peterrr73/C3w7f/3工作愉快。但是,当我将相同的代码粘贴到单独的文件中并将其放到网络上时,它会失败:您可以在http://www.sd-editions.com/CantApp/index4.html处看到这一点。更让人困惑的是:您可以在http://www.sd-editions.com/CantApp/index2.html上看到托盘在连接到整个文档时正在工作。
这是怎么回事?当我进入在线无法运行的实例时,没有错误报告。
- jsfiddler运行
onLoad
,因此所有的身体节点被载入 - 第一链路使用
dom elements
未载入 - 第二链路将事件附加到
document
这里是您的解决方案(包代码与选择器):
$(function() {
/* your code goes here */
});
是的,只是想出了这个!另一种方法是将脚本放置在闭合体标签后面,以便在将定时器添加到元素之前将其全部元素加载。这一切现在都完美无缺。这就是为什么计时器在文档上工作,而不是在元素上 - 文档在那里,所以没有问题,但元素不是。 –
@彼得罗宾逊是的,你是绝对正确的 – webdeveloper
您的代码在文档之前执行t就绪事件,选择器返回空对象 – webdeveloper