openModal不是一个函数
MaterializeCss modal Error openModal is not a function
我有所有的要求Jquery, Materialize. Js坐在我的Js文件之上,但我得到警告openModal不是一个函数..我检查了模态名称是正确的,我可以运行Materialize。我知道Materialize.js正在工作。用按钮触发也不会调用模态。代码如下:
脚本:
<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>
触发:
<button data-target="modal1" class="btn modal-trigger">Modal</button>
模态:
<!-- Modal Structure -->
<div id="modal1" class="modal">
<div class="modal-content">
<h4>Modal Header</h4>
<p>A bunch of text</p>
</div>
<div class="modal-footer">
<a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat">Agree</a>
</div>
</div>
</div>
js:
var modal = document.getElementById('modal1');
modal.openModal();
$('#modal1').leanModal();
$('#modal1').openModal();
Materialize functions需要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();
Ok,我有同样的问题,我通过改变调用来打开模态和初始化来修复它。
如果你和我有同样的问题,请查看这里的最新文档
这可能是新的-这里没有使用openModal()。
初始化:<script>
try {
try {
$('#modalId').modal();
} catch (e) {
console.info('loading modal auto-initialized..');
}
}
</script>
我添加了try/catch,因为有时不需要。
实现:$('#modalID').modal('open');
导入到materialize/dist文件夹,而不是materialize/js。
运行:$ (' # elementId ') .modal ();$ (' # elementId ') .modal("秀");
就是这样工作的。
编辑:实际上,它在生产环境中不起作用。
所以我这样做了:
(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()
相关文章:
- 我可以在json对象中添加一个函数吗
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在另一个函数中使用变量this
- 在另一个函数成功结束后调用该函数
- mongoose.connect undefined不是一个函数
- 监听器必须是一个函数
- 使用JS函数来使用另一个函数的语法?node.js
- 如何取消object.prototypes javascript的一个函数
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何在javascript中使用不止一个函数
- jQuery-在页面加载时执行一个函数
- jquery UI draggable:UI.children不是一个函数
- jQuery Mobile Undefined不是一个函数
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- JS异常:animate不是一个函数
- 如何将一个函数附加到一个不存在的元素上
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟