我試圖使用jQuery UI選項卡非常像ASP.Net中的主頁。我有特定的JavaScript需要運行一次每個標籤加載。我試圖在每個頁面中都有一個$(document).ready函數,但是我讀過這是不好的做法,似乎只能在IE中工作。
我知道有一個加載事件,但我需要事件是每個選項卡的具體情況,我不知道如何完成此操作,或者甚至可能。我可能不得不恢復使用和實際的MasterPage和每個頁面加載回發。
我試圖使用jQuery UI選項卡非常像ASP.Net中的主頁。我有特定的JavaScript需要運行一次每個標籤加載。我試圖在每個頁面中都有一個$(document).ready函數,但是我讀過這是不好的做法,似乎只能在IE中工作。
我知道有一個加載事件,但我需要事件是每個選項卡的具體情況,我不知道如何完成此操作,或者甚至可能。我可能不得不恢復使用和實際的MasterPage和每個頁面加載回發。
你從哪裏讀到這是不好的做法?
Afaik,有多個$(document).ready()
的將簡單地讓他們「合併」,以便其中任何一個代碼將運行。我不記得jQuery 1.3這是否是新的,所以你可能想檢查一下。
有多個$().ready
是不錯的做法,除非你不必要地把它分成多個。在標籤被加載的情況下,恕我直言,把一個$(document).ready裝入內容是可能是最好的方式去做一些標籤特定的行爲發生。我使用它來重新綁定新加載的元素,因爲它們被注入到新加載的選項卡中。
$(document).ready()
是不錯的做法,它適用於jQuery工作的每個瀏覽器。如果您的事件僅在IE中觸發,您在自己的代碼中存在一處錯誤。
我在我的應用程序中有幾十個準備好的功能,沒有問題。
感謝大家。我做了更多的研究。我在我的子頁面中包含了對jQuery的引用以進行測試,並且出於某種原因,這導致了我在頁面中編寫的其他javascript問題。 「一般來說,你不應該把加載的元素作爲一個新頁面,並調用$(document).ready。這不是一個新的頁面,而是一些新的元素添加到DOM。所有的ajax方法都有一個回調方法當數據成功加載時調用。「 這就是我讀過的告訴我這可能是錯誤的方式。 我現在工作。再次感謝! – Kyle 2009-05-19 18:03:16
如果您正在綁定.click事件等,請查看jQuery 1.3中的(新).live()事件。他們會爲你做的工作! – 2009-05-19 18:18:27