【问题标题】:Why would one $(document).ready(function() { prevent another from running?为什么一个 $(document).ready(function() { 会阻止另一个运行?
【发布时间】:2012-08-09 07:50:09
【问题描述】:

我知道我应该能够运行许多 $(document).ready(function() { 就像我喜欢的那样,但事实是,在我的页面上,我不能。虽然我很感激人们让我知道我应该能够做到这一点,我真的希望有人能够告诉我为什么其中一个功能阻止另一个运行。

我在同一页面上运行了两个单独的 $(document).ready(function() {。一个用于在选择搜索结果时更新下拉菜单。另一个用于调用日历函数用户单击“日期”文本框。除非我调用名称搜索函数,否则日期函数可以正常工作。如果我调用名称搜索函数,则日期函数根本不会运行。我是一个 php hack,并且对 JavaScript 几乎一无所知。

这两个函数包含在不同的“js”页面中。下面是两个函数:

<script language="JavaScript" src="<?php echo MAIN_BASE_PATH?>/includes/utils.js" type="text/javascript"></script>


<script type="text/javascript"> 

$(document).ready(function(){
jquery_date('date');
});
</script>



function jquery_date(name){
$("input[name='"+name+"']").datepicker({ dateFormat: 'mm-dd-yy'  });
}

<link rel="stylesheet" type="text/css" href="../jquery.autocomplete.css" />
<script type="text/javascript" src="../jquery.js"></script>
<script type="text/javascript" src="../jquery.autocomplete.js"></script>
<script>
$(document).ready(function(){
    $("#student_search").autocomplete("autocomplete_student.php", {
           selectFirst: true
    });

     $("#student_search").result(function(event, data, formatted) {

        $("#student_menu_<?php echo $field_name;?>").val(data[1]);
});
});
</script>

【问题讨论】:

  • 我在您的代码中只能看到一个$(document).ready() 用法。
  • 即使你有两个 $(document().ready() 这不应该是一个问题,你的问题出在代码的其他地方。
  • @Angel - 是的,我知道你应该可以同时调用两者,我正在尝试找出代码的问题所在,这就是我在此处包含代码的原因。任何想法什么编码错误会使 twp $document.ready() 函数在它们单独时工作正常,但是当它们在一起时其中一个停止工作?
  • @DanielB 我已经完成了第二个 $(document).ready()。有什么想法吗?
  • 第一个 sn-p 是否也是您最终文档中的第一个,那么有可能在您添加第一个文档就绪回调时未加载 jQuery,因为您正在加载 jQuery你的第二个sn-p。

标签: javascript jquery


【解决方案1】:

您可以轻松地将两者合二为一(在调用时您的所有页面都已完全加载之后)。

多个绑定的问题是,如果其中一个绑定失败并出现错误,则链中的下一个绑定将不会执行,您的代码是否可能生成这样的错误? (根据 Alex 的评论更正了之前的帖子,10x 添加了 +)

见 Deli 的帖子: http://api.jquery.com/ready/

【讨论】:

  • 您可以在 jQuery 中尽可能多地绑定到文档。
  • @mihaisimi - 我想它可能会引发错误。有什么办法检查吗?抱歉我只知道php。
  • 问题是否可能是 调用之一在 HEADER 和另一个在体内?
猜你喜欢
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多