我使用fancybox创建了iframe,但fancybox无法隐藏iframe,因为以下错误:
ncaught Error: Method hide does not exist on jQuery.modal
at Function.error (jquery.js:253)
at jQuery.fn.init.a.fn.modal (materialize.min.js:8)
at Q (include.js?v=9.12.1:1)
at apply_link (include.js?v=9.12.1:1)
at a (include.js?v=9.12.1:1)
at HTMLAnchorElement.<anonymous> (include.js?v=9.12.1:1)
at HTMLUListElement.dispatch (jquery.js:4670)
at HTMLUListElement.r.handle (jquery.js:4338)
我已经搜索了其他问题,我发现如果我将Jquery包含两次,就会出现此问题。所以我删除了materialize.js
并且fancybox运行良好但是我需要包含materialize.js,因为我在我的ui中使用它。那我该怎么处理呢?
我正在使用yii2,这是我的配置:
public $js = [
'js/jquery-3.2.1.min.js',
'js/jquery.fancybox.min.js',
'js/materialize.min.js',
'js/script.js',
'js/mediaelement-and-player.min.js',
'js/flickity.pkgd.min.js',
'js/select2.min.js',
'js/select-category.js',
'js/add_and_remove_text_fields.js',
'js/iframe_upload.js'
];
这是我的HTML代码:
<input type="text" id="test_id" disabled>
<a href="../filemanager/dialog.php?type=2&field_id=test_id&relative_url=1" class="btn iframe-btn"> SELECT</a>
这是我的JS代码:
$('.iframe-btn').fancybox({
'width' : 900,
'height' : 600,
'type' : 'iframe',
'autoScale' : false
});