为什么一个 $(document).ready(function() { 会阻止另一个运行

Why would one $(document).ready(function() { prevent another from running?

本文关键字:另一个 function 运行 document 一个 为什么 ready      更新时间:2023-09-26

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

我在同一页面上运行两个单独的 $(document).ready(function() {。一个用于在选择搜索结果时更新下拉列表。另一个用于在用户单击"日期"文本框时调用日历函数。日期函数工作正常,除非我调用名称搜索函数。如果我确实调用名称搜索函数,则日期函数根本不运行。我是一个php黑客,真的对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>

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

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

请参阅Deli的帖子:http://api.jquery.com/ready/