2014-03-27 70 views
0

我深感不解......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上看到托盤在連接到整個文檔時正在工作。

這是怎麼回事?當我進入在線無法運行的實例時,沒有錯誤報告。

+0

您的代碼在文檔之前執行t就緒事件,選擇器返回空對象 – webdeveloper

回答

1
  • jsfiddler運行onLoad,因此所有的身體節點被載入
  • 第一鏈路使用dom elements未載入
  • 第二鏈路將事件附加到document

這裏是您的解決方案(包代碼與選擇器):

$(function() { 
/* your code goes here */ 
}); 
+0

是的,只是想出了這個!另一種方法是將腳本放置在閉合體標籤後面,以便在將定時器添加到元素之前將其全部元素加載。這一切現在都完美無缺。這就是爲什麼計時器在文檔上工作,而不是在元素上 - 文檔在那裏,所以沒有問題,但元素不是。 –

+0

@彼得羅賓遜是的,你是絕對正確的 – webdeveloper

相關問題