所以我试图强制使用$('#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');
请享用!