This article shares the specific code of JavaScript singleton mode to implement custom pop-up boxes for your reference. The specific content is as follows Function
Complete codeconst Dialog = (function () { class Dialog { constructor () { this.ele = document.createElement('div') this.ele.className = 'dialog' document.body.appendChild(this.ele) this.callback = null this.setEvent() } setContent ({ text, topicText, confirmText, cancelText } = options) { this.ele.innerHTML = null const top = document.createElement('div') top.className = 'top' const topic = document.createElement('span') topic.className = 'topic' topic.innerHTML = topicText const close = document.createElement('span') close.className = 'close' close.innerHTML = '×' top.appendChild(topic) top.appendChild(close) const middle = document.createElement('div') middle.className = 'middle' const content = document.createElement('div') content.className = 'content' content.innerHTML = text middle.appendChild(content) const bottom = document.createElement('div') bottom.className = 'bottom' const confirm = document.createElement('button') confirm.className = 'confirm' confirm.innerHTML = confirmText const cancel = document.createElement('button') cancel.className = 'cancel' cancel.innerHTML = cancelText bottom.appendChild(confirm) bottom.appendChild(cancel) const wrap = document.createElement('div') this.ele.appendChild(top) this.ele.appendChild(middle) this.ele.appendChild(bottom) this.ele.style.display = 'block' } setEvent () { this.ele.addEventListener('click', e => { e = e || window.event const target = e.target || e.srcElement if (target.className === 'close') { this.ele.style.display = 'none' console.log('close') } if (target.className === 'confirm') { this.ele.style.display = 'none' this.callback(true) } if (target.className === 'cancel') { this.ele.style.display = 'none' this.callback(false) } }) } } let instance = null return function (options, cb) { if (!instance) instance = new Dialog() instance.setContent(options) instance.callback = cb || function () {} return instance } })() const dialog = new Dialog({ text: 'prompt text', topicText: 'Title', confirmText: 'Confirm', cancelText: 'Cancel' }, res => { console.log(res) }) Rendering The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Sharing experience on MySQL slave maintenance
>>: Proxy_pass method in multiple if in nginx location
1. Enter the /etc/init.d directory: cd /etc/init....
Table of contents 1. Preparation: 2. Source code ...
Introduction: In many cases, many people think th...
This article shares the specific code of Vue.js f...
When customizing the installation of software, yo...
Recently, due to work needs, I need to format num...
1. How to create a user and password 1. Enter the...
Table of contents Preface Browser compiled versio...
Project requirements require some preprocessing o...
To do a paginated query: 1. For MySQL, it is not ...
MySQL deployment Currently, the company deploys M...
This article example shares the specific code of ...
It is very common to use webpack to build single-...
In order to make the page display consistent betwe...
Routing configuration commands under Linux 1. Add...