我的页面uc1和uc2中有两个用户控件。我想确保文档准备就绪后,这两个用户控件内的js函数会触发。
当我使用'$(document).ready({function(){// something});'在用户控件中只加载第一个用户控件的功能。没有调用第二个用户控件的函数。
我不能在同一页面的两个不同用户控件中使用'(document).ready'吗? 如果没有,那么我怎样才能确保只有在文档准备就绪时才调用相应的方法?
答案 0 :(得分:2)
您可以向$(document).ready
及should all execute添加任意数量的功能。
也许第二个脚本在它可以做它应该做的事情之前会出错?考虑安装FireBug并在FireFox中打开您的网站。
答案 1 :(得分:0)
您可以执行以下任何操作
<强> 1 强>
.ascx文件的结构
//Demo control
Name : <asp:TextBox ID="txtName" />
<强>的Javascript 强>
//this is DOM ready
jQuery(function(){
jQuery('#'+<%=txtName.ClientID%>).doSomething();
});
<强> 2 强> 或其他方式
<asp:TextBox ID="txtName" CssClass="myClass" />
add this code the page that holds these controls
jQuery(function(){
jQuery('.myClass').DOSomeThing();
});
答案 2 :(得分:0)
我的第一个赌注是检查函数的重复命名,具有相同名称的变量。我还想知道我是否可以将功能放到主页(或者是新的,如果它的说明)。这将简化错误跟踪。我还推荐使用firebug和httpwatch进行js调试。现在你的样本给出了一个小的迹象,表明document.ready是你在每个用户控件中使用的唯一方法吗?