2012-11-24 79 views
1

這是一個通用的問題,所以在這個問題中沒有真正的代碼。獲取特定的jQuery腳本在IE9上運行(實際上任何版本的IE)

最煩人看來這使得調試這個很難稍微擊中或錯過。

在FF和Chrome它完全運行而不問題

但在IE中,腳本只會在你運行按F5刷新。

顯然我使用

$("document").ready(function() { 

    alert("start control script"); 
    // lots more code here 
}; 

通過觀察看來,一旦我已運行腳本一次,如果我以後註銷並重新登錄,一切都很好。但是,如果我完全關閉瀏覽器,我又回到需要按F5才能啓動腳本。這隻發生在IE中。

我想象一下,一旦我刷新並註銷,由於某種緩存,當我完全關閉瀏覽器時會丟失。

歡迎任何想法。

+0

我相信正確的語法是 '$(文件)。就緒(...)' 是什麼問題? – thatidiotguy

+0

和缺少的括號。基本的語法錯誤。 – Popnoodles

回答

2

你寫錯了,document是一個全局對象&不需要引號。

$(document).ready(function() { 

    alert("start control script"); 
    // lots more code here 
}); 

通知缺乏引號的字document &末缺少括號周圍。

+2

最後一行也沒有關閉')'。 – Nelson

+0

是的結局)只是SO中的一個錯字。這是「」。無法看到我的生活。不知道我是如何錯過的。 – codepuppy

1

你不需要引號中的文件,你最後還會丟失括號)

$(document).ready(function() { 

    alert("start control script"); 
    // lots more code here 
}); 
1

從jQuery的文檔:

所有這三個如下語法是等價的:

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 

還有$(document).bind("ready", handler),不贊成的jQuery 1.8。這與ready方法的行爲相似,但是如果ready事件已經被觸發,並且您嘗試.bind(「ready」),則綁定的處理程序將不會被執行。以這種方式綁定的就緒處理程序在被上述其他三種方法綁定之後執行。

.ready()方法只能在匹配當前文檔的jQuery對象上調用,所以選擇器可以省略。

$(document).ready(function() { 
    // Handler for .ready() called. 
}); 

哪個是等效於調用::

的。就緒()方法通常與匿名函數使用

$(function() { 
// Handler for .ready() called. 
}); 

如果。就緒()的DOM之後一直被稱爲初始化後,傳入的新處理程序將立即執行。

+0

謝謝你的解釋。 – codepuppy

相關問題