UNPKG

dynamic-interaction

Version:

Dynamic interaction 动态交互mcp,用于cursor、windsurf、trae 等 AI 智能编辑器 Agent 运行时交互使用

50 lines 1.5 kB
/** * 模态框组件 * 处理图片预览模态框 */ import { getElementById } from '../utils/dom.js'; class ModalComponent { modal = null; modalImage = null; isInitialized = false; openModal(src) { if (!this.isInitialized) { this.initialize(); } if (this.modal && this.modalImage) { this.modal.style.display = 'flex'; this.modalImage.src = src; } } closeModal() { if (this.modal) { this.modal.style.display = 'none'; } } initialize() { this.modal = getElementById('image-modal'); this.modalImage = getElementById('modal-image'); const closeModalBtn = document.querySelector('.close-modal-btn'); if (closeModalBtn) { closeModalBtn.addEventListener('click', () => this.closeModal()); } if (this.modal) { this.modal.addEventListener('click', (event) => { if (event.target === this.modal) { this.closeModal(); } }); } document.addEventListener('keydown', (event) => { if (event.key === 'Escape' && this.modal && this.modal.style.display === 'flex') { this.closeModal(); } }); this.isInitialized = true; } } const modalComponent = new ModalComponent(); export function openModal(src) { modalComponent.openModal(src); } //# sourceMappingURL=modal.js.map