// 商店弹窗基础按钮事件绑定,替代 toolbar 商店区域内联 onclick。 let shopControlEventsBound = false; /** * 调用商店存量全局函数。 * * @param {string} functionName 全局函数名 * @returns {void} */ function callShopGlobal(functionName) { if (typeof window[functionName] === "function") { window[functionName](); } } /** * 绑定商店关闭、改名和赠礼对话框按钮事件。 * * @returns {void} */ export function bindShopControls() { if (shopControlEventsBound || typeof document === "undefined") { return; } shopControlEventsBound = true; document.addEventListener("click", (event) => { if (!(event.target instanceof Element)) { return; } if (event.target.closest("[data-shop-modal-close]")) { event.preventDefault(); callShopGlobal("closeShopModal"); return; } if (event.target.closest("[data-shop-rename-confirm]")) { event.preventDefault(); callShopGlobal("submitRename"); return; } if (event.target.closest("[data-shop-rename-cancel]")) { event.preventDefault(); callShopGlobal("closeRenameModal"); return; } if (event.target.closest("[data-shop-gift-confirm]")) { event.preventDefault(); callShopGlobal("confirmGift"); return; } if (event.target.closest("[data-shop-gift-cancel]")) { event.preventDefault(); callShopGlobal("closeGiftDialog"); } }); }