【问题标题】:jQuery function only works when included again - twice (causing other conflicts)jQuery 函数仅在再次包含时才有效 - 两次(导致其他冲突)
【发布时间】:2012-05-03 16:10:41
【问题描述】:

我正在使用这个 jQuery 脚本/函数来更改我的选择框的设计http://tutorialzine.com/2010/11/better-select-jquery-css3/

它已实施和工作。我的网站是由一个索引文件构建的,该文件通过 php include 包含页面的所有其他部分:about、contact 等部分

但问题在于,在显示我的样式选择框的单独联系页面(不包括标题,仅正文内容)中,“样式”如果您将 仅在再次直接包含 jquery 时才有效在contact.php文件中(已经包含在index.php中)。

  <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script>

一旦从contact.php 中删除,所有选择选项项都设置为null。如果站点的另一部分中只有 datePicker 没有停止工作,这将不是什么大问题,因为我认为这是两次包含 jQuery 的结果。

我尝试了各种解决方案,例如检查它是否真的存在:

 if (typeof jQuery == 'undefined') {  
 document.write('<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script>');
 }

jQuery不是未定义的,它就在那里,你甚至可以在浏览源代码时看到它。关于为什么会发生这种情况的任何想法?

【问题讨论】:

  • 当您的索引中有 jquery 时,您在文档的哪个位置包含它?
  • jQuery 无法正常工作可能还有其他原因。有时 PHP 和 jQuery 会发生冲突,因为它们都使用 '$'。尝试像这样声明您的 document.ready():jQuery(document).ready(function($){ // your code })
  • Climbage: 在头部,就像它应该的那样。 Ahren: 谢谢,但没用。还有其他想法吗?
  • 你能举一个例子来说明它在标题的 HTML 中包含两次的 jquery 吗?您是否检查过 JavaScript 控制台以查找错误?
  • 看不出有什么帮助,它只是上面发布的相同代码打印了两次,一次在头部,一次在正文部分(来自contact.php)包含一次时:控制台中没有错误。当包含两次时:“TypeError: 'undefined' is not a function (evalating '$( "#datepicker" ).datepicker()')” 当 jQuery 被多次包含时会发生这种情况 (stackoverflow.com/questions/1212696/…) @ahren想法?

标签: php jquery jspinclude


【解决方案1】:

我在发布此问题几天后解决了我的问题。问题是 jQuery 总共包含了 3 次(因为 php 包含)。这导致了我最初的问题。当我删除了我认为是第二个和不必要的 jquery 时,仍然有一个太多。因此,在处理类似错误时请考虑这一点,您可能包含它的次数比您意识到的要多得多,一种解决方案是真正确保只有一个 jquery 包含在运行。祝你好运

【讨论】:

    【解决方案2】:

    你在里面运行你的代码吗

    $(function() {
        // Your jQuery code here
    });
    

    需要启动 jQuery,这发生在页面加载时。也许你正在尝试做一些在 jQuery 准备好之前执行的函数?

    编辑:
    注意到在 cmets 中提到了这个建议。

    你没有使用&lt;iframe&gt; 来获取contact.php,是吗?

    【讨论】:

      【解决方案3】:

      使用来自 google 的 jquery 而不是您自己的服务器,有时我们的 jquery 库无法正常工作......

      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
      

      【讨论】:

        猜你喜欢
        • 2014-07-29
        • 1970-01-01
        • 1970-01-01
        • 2013-09-05
        • 1970-01-01
        • 1970-01-01
        • 2015-07-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多