所以我试图强制使用$('#myModal').modal('show');甚至在切换按钮单击时保持 bootstrap 模态显示
show方法在.click()函数外部时可以运行,但在.click()函数内部时则不显示此类方法

因此

$('document').ready(function() {

    $('#my-toggle-button').click(function() {
        $('#myModal').modal('show'); // Throws up the below error
    });

});

错误:
Uncaught Error: Method show does not exist on jQuery.modal
at Function.error (jquery-2.2.4.min.js:2)
at n.fn.init.a.fn.modal (materialize.min.js:8)
at HTMLAnchorElement.<anonymous> (myScript.js:4)
at HTMLAnchorElement.dispatch (jquery-2.2.4.min.js:3)
at HTMLAnchorElement.r.handle (jquery-2.2.4.min.js:3)

但是它在以下情况下可以正常工作
$('document').ready(function() {

    $('#myModal').modal('show'); // Works fine

    $('#my-toggle-button').click(function() {

    });

});

更新:
事实证明,这是由于脚本导入具有defer和aysnc引起的。我不知道在什么地方使用它们,因为它们无法识别模态。

最佳答案

当您还使用materializecss时尝试执行 bootstrap 模态时,会发生此问题,最好的建议是使用materializecss模态。

http://materializecss.com/modals.html

//initialize all modals
$('.modal').modal({
    dismissible: true
});

//call the specific div (modal)
$('#modal2').modal('open');

请享用!

07-24 22:02