我的 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
在我的所有脚本中使用 so,我已将每个脚本都替换$
为$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
,脚本将不起作用。
有任何想法吗?谢谢你。