2013-12-13 85 views
4

出於某種原因,在我的實時服務器上單擊事件的時間比在本地開發計算機上花費的時間要長得多。例如,這裏是我作爲一個測試的一些基本代碼:什麼可能會使點擊事件觸發緩慢?

jQuery(document).ready(function(){ 
    jQuery('a[rel^="foxyLightbox"]').on("click", function(e) { 
     console.log("HA!"); 
     return false; 
    }); 
}); 

當我運行在本地和點擊鏈接,文本打印到控制檯幾乎在瞬間完成。如果我連續點擊它一次,就沒有任何延遲。

當我在我的實時服務器上運行它時,事件觸發前幾乎有一秒延遲。如果我連續點擊它一次,則會出現滯後現象,並且每秒打印一次。

下面是一個活生生的例子頁:https://www.foxytronics.com/products/68-springrc-sm-s4303r-continuous-rotation-servo

觸發事件的聯繫是在右上角的大產品形象。

起初我以爲這個問題是我的javascript代碼,但後來我評論它,並使用上面的測試代碼(這是非常短的),所以不能這樣做。什麼可能會延遲發射點擊事件?

+0

@ C.S執行。我的壞,大的圖片。如果您打開控制檯然後點擊它,您會發現點擊和文字打印之間存在大約一秒鐘的延遲。然後,如果您多次點擊,每次打印出來之間都會有一段延遲。 – Nate

+0

當您在本地進行測試時,是否僅測試使用該腳本的html文件,例如只有縮略圖和js的html頁面?還是你測試它,因爲它會出現在網站上,完成,但只是在本地? –

回答

5

我用Chrome瀏覽器開發工具,我看到你有奇怪的長mouseDown事件處理:

long mouse down event handler

有些工作是在JS腳本static.getclicky.com

+1

發現相同,90%的時間由此使用。 –

+0

啊哈!所以Clicky是罪魁禍首! (Clicky就像谷歌分析,順便說一句)。我從來沒有想過檢查網絡請求,所以感謝您的幫助,併爲我展示了一個新的調試工具! – Nate

+1

@Nate,Tony正在使用Chrome開發人員工具Timeline JS Profiler,而不是檢查網絡請求 –