我在頁面uc1和uc2中有兩個用戶控件。當文檔準備就緒時,我想確保這兩個用戶控件中的js函數觸發。在同一頁面中使用兩個用戶控件中的jquery
當我使用'$(document).ready({function(){// something});'在用戶控件中只有第一個用戶控件的功能正在加載。沒有調用第二個用戶控件的功能。
我不能在同一頁面的兩個不同的用戶控件中使用'(document).ready'嗎? 如果不是那麼我怎麼才能確保相應的方法只有在文檔準備好時才被調用?
我在頁面uc1和uc2中有兩個用戶控件。當文檔準備就緒時,我想確保這兩個用戶控件中的js函數觸發。在同一頁面中使用兩個用戶控件中的jquery
當我使用'$(document).ready({function(){// something});'在用戶控件中只有第一個用戶控件的功能正在加載。沒有調用第二個用戶控件的功能。
我不能在同一頁面的兩個不同的用戶控件中使用'(document).ready'嗎? 如果不是那麼我怎麼才能確保相應的方法只有在文檔準備好時才被調用?
您可以添加任何數量的功能$(document).ready
,他們should all execute。
也許第二個腳本在它可以做它應該做的事情之前給出一個錯誤?考慮安裝FireBug並在FireFox中打開您的網站。
,你可以做任何的下方的.ascx文件的
結構
//Demo control
Name : <asp:TextBox ID="txtName" />
的Javascript
//this is DOM ready
jQuery(function(){
jQuery('#'+<%=txtName.ClientID%>).doSomething();
});
或其他方式
<asp:TextBox ID="txtName" CssClass="myClass" />
add this code the page that holds these controls
jQuery(function(){
jQuery('.myClass').DOSomeThing();
});
我的第一個賭注會去檢查的功能,即具有相同名稱的變量重複namings。我還想知道我是否可以將功能添加到主頁面(或者新的,如果它的指定)。這將簡化錯誤跟蹤。我也推薦用於js調試的firebug和httpdwatch。現在您的示例給出了一個小的提示,即document.ready是您在每個用戶控件中使用的唯一方法調用?
我也會說,不要將jquery.js鏈接到每個用戶控件中! – Independent 2011-03-10 06:18:56
你的IE瀏覽器應該檢測到一個javascript錯誤。可能,你命名了一個函數兩次。 – 2011-03-10 05:37:59