【问题标题】:How can I avoid calling jquery twice如何避免两次调用 jquery
【发布时间】:2012-11-13 03:48:12
【问题描述】:

我正在使用Jquery Form Plugin 提交我的表单。我的 html 文件的 head 标签如下所示

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
 then 10 other javascript files

AND Then   
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/jquery.form.js">
<script type="text/javascript"> 
       $(document).ready(function() { 
      var options = { 
                       success:       showResponse
                         };
                         $('#myForm').ajaxForm(options); 
        }); 
  </script>         

要查看我的代码的实际图片,请查看http://jsfiddle.net/Xfrms/1/

问题是即使我在代码的最顶部调用jquery library,如果我没有在 jquery.form.js 插件之前调用 jquery 库,那么它 (jquery.form.js) 不会'不工作。我试图在query.form.js 插件调用最顶部的 jquery 库之后调用这 10 个其他 javascript 文件,但在这种情况下,调用 javascript 文件的功能不起作用。

看到这个post之后,我认为调用jquery两次会导致问题。

您能否告诉我我的代码中可能出现的问题以及如何避免必须在 jquery 表单插件之前加载 jquery 但仍使其正常工作?

谢谢

【问题讨论】:

  • 其他 10 个 javascript 文件是什么?他们中的任何一个也将$ 声明为某事吗?他们中的任何一个都调用 jQuery.noConflict() 吗?
  • 感谢您的回复 MrOBrian。是的。他们中的大多数人还声明$,但没有一个人打电话给jquery.noConflict() 你有什么建议吗?谢谢:)
  • by "declare $" 我的意思是把它设置成别的东西,而不是 jQuery。您是否正在使用另一个类似于 jQuery 的库来覆盖 jQuery?
  • 不,我没有使用任何其他库。请检查此链接jsfiddle.net/Xfrms/1 这将使您对我的脚本有所了解。谢谢
  • 你认为问题是因为多个jQuery文件之间的冲突吗?

标签: jquery jquery-forms-plugin


【解决方案1】:

我可以想象您的问题是其他一些库正在使用 $ 关键字标记来实例化每个调用。如果我是正确的,只需尝试以下操作,您就可以开始了..

var $jq = jQuery.noConflict();

然后,对于所有 jquery 调用,尝试使用您的新标记.. $jq。

有关更多详细信息,请查看此页面: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

使用页面开头的 js 脚本参考来确保所有代码在开始时都正确加载。此外,加载所有脚本可能会填充一些错误。要检查是否存在任何错误,请使用一些调试插件,如 Firebug。

【讨论】:

    【解决方案2】:

    你试过了吗:

    window.jQuery || document.write('<script src="js/jquery-1.7.2.min.js"><\/script>')
    

    【讨论】:

    • 如果我错了,请纠正我,但您不要使用代码,以便当 CDN 托管的 jQuery 暂时关闭时,您会退回到本地托管的版本?
    • 它也可以用于此。基本上这只是检查是否定义了 jQuery,如果没有,则将其写入浏览器。
    猜你喜欢
    • 2021-12-14
    • 2011-01-11
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 2021-10-16
    相关资源
    最近更新 更多