尝试使用Magento2标准方法:
将以下代码复制到phtml文件中。
<div id="modal-form">
<h1>Hey</h1>
</div>
<a class="action open-modal-form"
href="#"
title="Modal">
<span>Click Me!</span>
</a>
<script type="text/x-magento-init">
{
".open-modal-form": {
"Vendor_Module/js/modal-form": {}
}
}
</script>
创建供应商/模块/视图/前端/web/js/modal-form.js
define(
[
'jquery',
'Magento_Ui/js/modal/modal'
],
function($) {
"use strict";
//creating jquery widget
$.widget('Vendor.modalForm', {
options: {
modalForm: '#modal-form',
modalButton: '.open-modal-form'
},
_create: function() {
this.options.modalOption = this._getModalOptions();
this._bind();
},
_getModalOptions: function() {
/**
* Modal options
*/
var options = {
type: 'popup',
responsive: true,
title: 'Sample Title',
buttons: [{
text: $.mage.__('Continue'),
class: '',
click: function () {
this.closeModal();
}
}]
};
return options;
},
_bind: function(){
var modalOption = this.options.modalOption;
var modalForm = this.options.modalForm;
$(document).on('click', this.options.modalButton, function(){
//Initialize modal
$(modalForm).modal(modalOption);
//open modal
$(modalForm).trigger('openModal');
});
}
});
return $.Vendor.modalForm;
}
);