javascript - $(document).ready(function() {...}) 在插件脚本加载之前运行

标签 javascript jquery jquery-plugins internet-explorer-7 ready

我收到 JS 错误,因为我的 $(function () {...})处理程序似乎在加载先决条件插件脚本之前被触发。仅发生在 IE 中(在 IE7 中测试)。

我的 <head> 中有一些 HTML看起来像这样:

<script type="text/javascript" src="../resources/org.wicketstuff.jwicket.JQuery/jquery-1.4.2-special.js"></script>
...
<script type="text/javascript" id="noConflict"><!--/*--><![CDATA[/*><!--*/
jQuery.noConflict();
/*-->]]>*/</script>
...
<script type="text/javascript" src="../resources/com.csc.aims.wicket.components.collapsiblefieldset.CollapsibleFieldsetBehavior/jquery.collapsiblefieldset.js"></script>
<link rel="stylesheet" type="text/css" href="../resources/com.csc.aims.wicket.components.collapsiblefieldset.CollapsibleFieldsetBehavior/jquery.collapsiblefieldset.css" />
<script type="text/javascript">
jQuery(function(){
jQuery('#collapse119').collapse({"iconClosedUrl":"../resources/img/white_plus","iconOpenUrl":"../resources/img/white_minus"});
});
</script>

请注意,根据 HTML 代码,顺序如下:

  1. jquery-1.4.2-special.js
  2. jQuery.noConflict() 调用
  3. jquery.collapsiblefieldset.js//定义$.fn.collapse
  4. 调用 jQuery('#collapse119').collapse(...)

当此代码在 FF 中运行时,一切正常。当我在 IE7(或 IE8 w/Compat.View: IE7 标准模式)中测试它时,出现 javascript 错误。调试器向我显示 jQuery.fn.collapse 未定义。

使用 IE8 开发人员工具,我尝试查看 jquery.collapsiblefieldset.js。我在列表中看到该脚本,但该工具告诉我无法设置断点,因为该脚本未加载。

为什么在我的 $() 就绪处理程序运行之前没有加载 collapsiblefieldset.js?任何见解将不胜感激!谢谢。

最佳答案

您正在使用

$(function(){...});

这是同义词

$(document).ready( function(){...} );

相反,你可以尝试

$(window).load( function(){...} );

它会在页面加载序列中稍后触发。

关于javascript - $(document).ready(function() {...}) 在插件脚本加载之前运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978599/

相关文章:

javascript - 如何为 Telerik Kendo UI 饼图楔形着色?

javascript - 如何快速更新Javascript中很多元素的类?

javascript - React Native 文本字符串必须在文本中呈现

javascript - 动态更改 <div> 元素的大小

jquery - 如何使用jquery放大图像

javascript - ajax调用后如何获得jquery插件的所有功能?

javascript - 如何在 Javascript 中返回 HTTP 响应?

javascript - Kendo UI 网格保存单元格模糊

javascript - 删除已加载到 div 中的页面

javascript - 如何更改 FixedTableHeader jQuery 插件以使其也具有固定的第一列?