在同一页面中的两个usercontrol中使用jquery

时间:2011-03-10 05:29:40

标签: jquery asp.net

我的页面uc1和uc2中有两个用户控件。我想确保文档准备就绪后,这两个用户控件内的js函数会触发。

当我使用'$(document).ready({function(){// something});'在用户控件中只加载第一个用户控件的功能。没有调用第二个用户控件的函数。

我不能在同一页面的两个不同用户控件中使用'(document).ready'吗? 如果没有,那么我怎样才能确保只有在文档准备就绪时才调用相应的方法?

3 个答案:

答案 0 :(得分:2)

您可以向$(document).readyshould 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是你在每个用户控件中使用的唯一方法吗?