// 语法糖 class Dialog { // 默认参数 defaultOption = { title: '标题1', message: '内容1', showConfirmButton: false, confirmButtonText: '确认', confirmButtonColor: '#ee0a24', showCancelButton: true, cancelButtonText: '取消', cancelButtonColor: 'black', className: '', width: 320, overlay: true, closeOnPopstate: true, // 是否在页面回退时自动关闭 closeOnClickOverlay: true, // 是否在点击遮罩层后关闭弹窗 lockScroll: false, allowHtml: true, confirm: () => { }, // 确认按钮的回调 cancel: () => { }, // 点击取消按钮时触发 oncancel: () => { }, // 打开弹出 onconfirm: () => { } // 关闭弹窗 } // 构造函数 constructor(option) { if (option.hasOwnProperty("title") && option.hasOwnProperty("message")) { this.defaultOption.title = option.title || this.defaultOption.title this.defaultOption.message = option.message || this.defaultOption.message option.hasOwnProperty("showConfirmButton") ? this.defaultOption.showConfirmButton = option.showConfirmButton : '' option.hasOwnProperty("showCancelButton") ? this.defaultOption.showCancelButton = option.showCancelButton : '' option.hasOwnProperty("overlay") ? this.defaultOption.overlay = option.overlay : '' option.hasOwnProperty("closeOnPopstate") ? this.defaultOption.closeOnPopstate = option.closeOnPopstate : '' option.hasOwnProperty("closeOnClickOverlay") ? this.defaultOption.closeOnClickOverlay = option.closeOnClickOverlay : '' option.hasOwnProperty("lockScroll") ? this.defaultOption.lockScroll = option.lockScroll : '' option.hasOwnProperty("allowHtml") ? this.defaultOption.allowHtml = option.allowHtml : '' this.defaultOption.confirmButtonText = option.confirmButtonText || this.defaultOption.confirmButtonText this.defaultOption.cancelButtonText = option.cancelButtonText || this.defaultOption.cancelButtonText this.defaultOption.className = option.className || this.defaultOption.className this.defaultOption.width = option.width || this.defaultOption.width this.defaultOption.confirmButtonColor = option.confirmButtonColor || this.defaultOption.confirmButtonColor this.defaultOption.cancelButtonColor = option.cancelButtonColor || this.defaultOption.cancelButtonColor this.defaultOption.confirm = option.confirm || this.defaultOption.confirm this.defaultOption.cancel = option.cancel || this.defaultOption.cancel this.defaultOption.open = option.open || this.defaultOption.open this.defaultOption.close = option.close || this.defaultOption.close } else { throw new Error("抱歉,缺少必填的title,message参数,请传入!") } } initHTML() { $("body").insertAdjacentHTML("beforeend", `