我的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
,脚本将无效。
有什么想法吗?谢谢。