同一页面上两个Js库的冲突

js conflict for two js libraries on same page

本文关键字:Js 两个 冲突 一页      更新时间:2023-09-26

我使用这个代码弹出一个模态:

<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="/bootstrap.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
    $("#btn").click(function(){
        $('#myModal').modal('show');
    }); 
</script>

<script src="https://code.jquery.com/jquery-1.4.4.1.min.js"></script>

试试这样做。加载两个版本的jQuery(不推荐)。然后,将jQuery的全局变量恢复为第一次加载的jQuery。

    <!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.noConflict demo</title>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div id="log">
  <h3>Before $.noConflict(true)</h3>
</div>
<script src="//code.jquery.com/jquery-1.6.2.js"></script>
<script>
var $log = $( "#log" );
$log.append( "2nd loaded jQuery version ($): " + $.fn.jquery + "<br>" );
// Restore globally scoped jQuery variables to the first version loaded
// (the newer version)
jq162 = jQuery.noConflict( true );
$log.append( "<h3>After $.noConflict(true)</h3>" );
$log.append( "1st loaded jQuery version ($): " + $.fn.jquery + "<br>" );
$log.append( "2nd loaded jQuery version (jq162): " + jq162.fn.jquery + "<br>" );
</script>
</body>
</html>