即使使用$ .noConflict(true),冲突的jquery版本也不会起作用;

时间:2015-03-18 22:49:21

标签: javascript jquery html multiple-versions

我的html文件有各种功能,需要两个不同的jquery版本。在头部我装它们像这样:

        <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript">
  var $jq16 = $.noConflict(true);
</script>

<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
    <script type="text/javascript">
      var $jq21 = $.noConflict(true);
    </script>

我最需要使用jquery-2.1.0.min.js所以在我的所有脚本中,我已用$替换每一个$jq21

例如,如果我在我的页面中包含jquery-2.1.0并省略v1.6,则以下脚本可以正常工作。但是当我包含v1.6,并将$切换到$jq21,并且还包含noConflict代码时,此脚本不起作用:

 <script>

    $jq21('#form-signup_v1').validate({
        submit: {
            settings: {
                inputContainer: '.field'
            },
            callback: {
                onBeforeSubmit: function (node) {

                    myBeforeSubmitFunction(':D', ':)', node);

                },
                onSubmit: function (node) {

                    console.log('#' + node.id + ' has a submit override.');

                    //node.submit();

                }
            }
        },
        debug: true

    });

    function myBeforeSubmitFunction(a, b, node) {
 document.getElementById("form-signup_v1").submit();
        console.log(a, b);

        $jq21(node).find('input:not([type="submit"]), select, textarea').attr('readonly', 'true');
        $jq21(node).append('<div class="ui active loader"></div>');

    }
</script>

页面上的每个$都会切换为$jq21,脚本将无效。

有什么想法吗?谢谢。

0 个答案:

没有答案