30 lines
995 B
TypeScript
30 lines
995 B
TypeScript
/**
|
|
* 弹出窗口
|
|
* @param {String} innerHTML 内容html string
|
|
* @param {String} title 弹窗标题
|
|
* @returns {null|Element}
|
|
*/
|
|
export default function popupMsg(innerHTML, title = '芜湖助手') {
|
|
let glob = window.WHPARAMS;
|
|
if (glob.popup_node) glob.popup_node.close();
|
|
const chatRoot = document.querySelector('#chatRoot');
|
|
chatRoot.classList.add('wh-hide');
|
|
const popup = document.createElement('div');
|
|
popup.id = 'wh-popup';
|
|
popup.innerHTML = `<div id="wh-popup-container">
|
|
<div id="wh-popup-title"><p>${title}</p></div>
|
|
<div id="wh-popup-cont">${innerHTML}</div>
|
|
</div>`;
|
|
document.body.append(popup);
|
|
const rt: MyHTMLElement = popup.querySelector('#wh-popup-cont');
|
|
rt.close = function () {
|
|
popup.remove();
|
|
chatRoot.classList.remove('wh-hide');
|
|
}
|
|
popup.addEventListener('click', e => {
|
|
e.stopImmediatePropagation();
|
|
if (e.target === popup) rt.close();
|
|
});
|
|
glob.popup_node = rt;
|
|
return rt;
|
|
} |