1

在我的一个功能中,我需要使用两次jquery 版本。一个用于所有功能,另一个用于一个功能的 jquery ..

我无法控制延迟中的冲突。

<script defer type='text/javascript' src='<%=FrSettings.Settings.AppVirtualPath %>resource/js/jquery-11.0.min.js'></script>
<script defer type='text/javascript' src='<%=FrSettings.Settings.AppVirtualPath %>resource/js/unitegallery.min.js'></script>
<script defer type='text/javascript' src='<%=FrSettings.Settings.AppVirtualPath %>resource/js/ug-theme-carousel.js'></script>
<script defer type='text/javascript' src='<%=FrSettings.Settings.AppVirtualPath %>resource/js/jquery-3.3.1.min.js'></script>
window.addEventListener('DOMContentLoaded', function () {
        (function ($) {
            jQuery(document).ready(function ($) {

            // Need 2 different jquery version
            LoadVideos();
            });
        })(jQuery);
    });


       // Need only 1 jquery version
       window.addEventListener('DOMContentLoaded', function () {
        (function ($) {
            jQuery(document).ready(function ($) {
                LoadAnaOwl();
                LoadYayinAkisi();
                $('body').on('click', '.mansetPaginition li a', function () {
                    $('.mansetPaginition li a').removeClass('active');
                    $(this).addClass('active');
                });
                $(document).on('mouseenter mouseleave', '.mansetPaginition li a', function () {
                    $('.mansetPaginition li a').removeClass('active');
                    $(this).addClass('active');
                    window.location.hash = this.hash;
                });
            });
        })(jQuery);
    });
</script>
4

1 回答 1

1

使用jQuery.noConflict.

jQuery.noConflict(bool)将返回 jQuery 函数并将 $ 全局变量恢复为其旧引用。bool指示是否删除所有全局 jQuery 变量,包括 jQuery。如果加载了两个版本的 jQuery,则调用jQuery.noConflict(true)会将全局范围的 jQuery 变量恢复为第一个版本的变量。

window.addEventListener('DOMContentLoaded', function () {
        (function ($) {
            jQuery(document).ready(function ($) {
            window.jq331 = jQuery.noConflict(true);
            // Need 2 different jquery version
            LoadVideos();
            });
        })(jQuery);
});

<script src="https://code.jquery.com/jquery-1.1.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var jq331 = jQuery.noConflict(true);
//jQuery and $ is version 1.1.0
//jq331 is version 3.3.1
console.log('jQuery version:',jQuery.fn.jquery);
console.log('$ version:', $.fn.jquery);
console.log('jq331 version:',jq331.fn.jquery);
</script>

于 2018-11-15T17:13:03.057 回答