【问题标题】:mootools and jquery conflict - noconflict not working for memootools 和 jquery 冲突 - noconflict 不适合我
【发布时间】:2013-11-30 12:12:32
【问题描述】:

我正在向使用 mootools 的现有站点添加一个菜单,我的菜单需要 jquery 库才能运行。我只能控制添加 jquery js 文件和脚本,并且 mootools 必须留在头顶,而我的必须在它下面。我尝试在文档就绪功能之前添加jQuery.noConflict();,但无法解决。如果我删除 mootools js 文件,菜单功能完美。

<script type="text/javascript" src="http://www16.myfantasyleague.com/mootools-core-1.3.1-full-compat-yc.js"></script>


<script type="text/javascript" src="/js/jquery_1.8.2.js"></script>


    <script id="footerScriptsReady" type="text/javascript">
     jQuery.noConflict();
             (function($){

             $('#headerTvRotator').innerfade({ animationtype: 'fade', speed: 250, timeout: 10000, type: 'sequence', containerheight: '40px' }); 
                var saag = CBSi.app.SAAG.init({
                'categories':
                    {
                        "tab1":{
                                "scoreboard_url":"#url-here",
                                "ord":0,
                                "menu_subtitle":"<a2>For<BR CLEAR=LEFT>Commish</a>",
                                "default":0,
                                "content_url":"div_forcommissioners",
                                "menu_title":"",
                                "league_abbr":"tabname",
                                "scoreboard_subtitle":"Live<BR CLEAR=LEFT>Scores"
                            },
                        "tab2":{   
                                "scoreboard_url":"#url-here",
                                "ord":2,
                                "menu_subtitle":"<a2>For<BR CLEAR=LEFT>Owners</a>",
                                "default":0,
                                "content_url":"div_forowners",
                                "menu_title":"",
                                "league_abbr":"tabname",
                                "scoreboard_subtitle":"Live<BR CLEAR=LEFT>Scores"
                            },
                        "tab3":{
                                "scoreboard_url":"#url-here",
                                "ord":3,
                                "menu_subtitle":"<a1>REPORTS</a>",
                                "default":0,
                                "content_url":"div_reports",
                                "menu_title":"",
                                "league_abbr":"tabname",
                                "scoreboard_subtitle":"Live<BR CLEAR=LEFT>Scores"
                            }

                    },
                'activeCategory':'tab2'
                });

    })(jQUery);
</script>




<div id="menuContentsArea" style="display:none;">
    <div id="div_myleagues">
        <ul id="myleagues">
            <!--<li class="myleagues"></li>-->  
        </ul>
    </div>
    <div id="div_forowners">
        <ul id="forowners">
            <!--<li class="forowners"></li>-->
        </ul>
    </div>  
    <div id="div_communications">
        <ul id="communications">
            <!--<li class="communications"></li>-->
        </ul>
    </div>  
</div>  

【问题讨论】:

  • 您说noConflcct 不适合您...您可以更新代码以显示您是如何尝试的。这样会更容易提供帮助
  • 更新了我没有冲突的位置,如果我将 jquery 库放在 mootools 之前,它也可以正常工作,但不幸的是,这是在我的测试站点上,在伙计们的服务器上,我没有控制在mootools之前重新定位jquery,如果可能默认使用$并且没有运气,我也尝试了var j$作为mootools
  • 将 jquery_1.8.2.js 文件放在 mootools 上方时一切正常,但我不能那样做,所以必须找到另一条路线...

标签: javascript jquery


【解决方案1】:

您不能使用$.noConflict。整个冲突来自使用$ 作为别名的两个库。

试试

jQuery.noConflict();
(function($){
    /* within this wrapper "$" is jQuery again*/
     $('#headerTvRotator').innerfade.....

 })(jQUery);

不要在包装器之外使用任何带有“$”的 jQuery 代码...否则必须使用完整的 jQuery 单词,如下所示:

 jQuery('#headerTvRotator').innerfade.....

【讨论】:

  • 我已经用您的更改编辑了我的初始帖子,但我在现场申请了,但仍然无法正常工作。如果我可以在 mootools 之前强制加载 jquery 库,一切都很好......唉......我被卡住了大声笑
  • 也...如果他们使用 mootools,将 jQuery 也移动到其他脚本文件之后可能会更好。 noConflict 应该紧跟在 jQuery.js 脚本标签之后..即使您必须添加一个脚本标签才能调用它
  • 好吧试过了,还是不行........因为我不能手动将 jquery.js 文件按顺序先放置,无论如何要强制它在 mootools 之前加载?在我的测试站点上,只要 jquery.js 在 mooltools 之前一切正常
  • @user2200854,Mootools 会检测美元符号是否已被使用,因此当您首先加载 jQuery 时它会保留它。你有比这里发布的更多的 jQuery 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
相关资源
最近更新 更多