提问者:小点点

引导模式:不是函数


我有一个模态在我的页面。当我尝试在windows加载时调用它时,它会向控制台打印一个错误,该错误表示:

$(...).modal is not a function

这是我的模态HTML:

<div class="modal fade" id="prizePopup" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
                &times;
            </button>
            <h4 class="modal-title" id="myModalLabel">
                This Modal title
            </h4>
        </div>
        <div class="modal-body">
            Add some text here
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">
                Submit changes
            </button>
        </div>
    </div>
</div>

null

<script type="text/javascript" src="js/bootstrap.js"></script>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

这是加载窗口时使用的JavaScript:

<script type="text/javascript">
$(window).load(function() {
    $('#prizePopup').modal('show');
});
</script>

如何修复此问题?


共2个答案

匿名用户

您的脚本顺序有问题。按以下顺序加载:

<!-- jQuery -->
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<!-- BS JavaScript -->
<script type="text/javascript" src="js/bootstrap.js"></script>
<!-- Have fun using Bootstrap JS -->
<script type="text/javascript">
$(window).load(function() {
    $('#prizePopup').modal('show');
});
</script>

为什么要这样?因为引导JS依赖于jQuery:

一些插件和CSS组件依赖于其他插件。如果您单独包含插件,请确保在文档中检查这些依赖项。还要注意,所有插件都依赖于jQuery(这意味着插件文件之前必须包含jQuery)。

匿名用户

如果在代码中多次声明jQuery,也可能显示此警告。第二个jQuery声明阻止bootstrap.js正常工作。

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
...
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>