Javascript MaterializeCss模式错误OpenModel不是函数
我有Jquery的所有要求,Materialize.js位于我的js文件上方,但是我得到警告OpenModel不是一个函数。我检查了模态名称是否正确,我可以运行Materialize.toast,所以我知道Materialize.js正在工作。用按钮触发也不会调用模式。这是密码 脚本:Javascript MaterializeCss模式错误OpenModel不是函数,javascript,jquery,material-design,materialize,Javascript,Jquery,Material Design,Materialize,我有Jquery的所有要求,Materialize.js位于我的js文件上方,但是我得到警告OpenModel不是一个函数。我检查了模态名称是否正确,我可以运行Materialize.toast,所以我知道Materialize.js正在工作。用按钮触发也不会调用模式。这是密码 脚本: <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script> <
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="/js/materialize.js"></script>
<script type="text/javascript" src="/js/video.js"></script>
<script src="/js/admin.js"></script>
具体化函数需要Jquery元素。
getElementById()-为我们提供DOM对象
//You can either convert this Dom object to Jquery
var modal = document.getElementById('modal1');
var jquerymodal = $(modal); //convert to jQuery Element
jquerymodal.openModal();
//Or just use Jquery Element like
$('#modal1').openModal();
好的,我也有同样的问题,我通过改变调用打开模式和初始化来修复它 如果您有与我相同的问题,请查看最新的文档 这可能是新的-此处不使用openModal() 初始化:
<script>
try {
try {
$('#modalId').modal();
} catch (e) {
console.info('loading modal auto-initialized..');
}
}
</script>
导入materialize/dist文件夹中的缩小文件,而不是materialize/js 运行时使用: $('#elementId').modal(); $('#elementId').modal('show') 就是这样 编辑: 事实上,它在生产环境中不起作用 所以我这样做了:
(function( $ ) {
$.fn.showModal = function() {
var self = this;
try {
this.modal();
self.modal('open');
} catch (err) {
try{
self.openModal();
} catch (err2) {
console.error("Something went wrong - cannot open modal.");
}
}
}
$.fn.hideModal = function() {
var self = this;
try {
this.modal();
self.modal('close');
} catch (err) {
try{
self.closeModal();
} catch (err2) {
console.error("Something went wrong - cannot close modal.");
}
}
}
}( jQuery ));
只需使用:$(“#modal”).showModal()我也尝试给它Jquery,但也没有接受。响应:未捕获的TypeError:$(…)。OpenModel不是函数
//You can either convert this Dom object to Jquery
var modal = document.getElementById('modal1');
var jquerymodal = $(modal); //convert to jQuery Element
jquerymodal.openModal();
//Or just use Jquery Element like
$('#modal1').openModal();
<script>
try {
try {
$('#modalId').modal();
} catch (e) {
console.info('loading modal auto-initialized..');
}
}
</script>
$('#modalID').modal('open');
(function( $ ) {
$.fn.showModal = function() {
var self = this;
try {
this.modal();
self.modal('open');
} catch (err) {
try{
self.openModal();
} catch (err2) {
console.error("Something went wrong - cannot open modal.");
}
}
}
$.fn.hideModal = function() {
var self = this;
try {
this.modal();
self.modal('close');
} catch (err) {
try{
self.closeModal();
} catch (err2) {
console.error("Something went wrong - cannot close modal.");
}
}
}
}( jQuery ));