28fc3b409f
- 引入 ScriptManager、TimerManager 和 EventManager 统一管理资源 - 路由配置支持默认重定向路径 '/' - 移除旧版 scriptLoader 与 routeUtils,使用新的模块化加载机制 - 增加路由生命周期控制,自动清理定时器和事件监听器 - 改进点击代理逻辑,增强按钮激活状态切换 - 页面切换时卸载旧脚本及资源,防止内存泄漏 - 修复初始化日志冗余问题,提升代码可维护性
40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
import {
|
|
initTimestampDisplay,
|
|
handleToggleUnit,
|
|
handleStopTimer,
|
|
handleStartTimer,
|
|
handleConvertTimestamp,
|
|
handleConvertDateToTimestamp,
|
|
handleCopyTimestamp,
|
|
handleClosePanel,
|
|
handleTimezoneResult,
|
|
handleTimezoneInput,
|
|
} from '../modules/eventHandlers.js';
|
|
import { addEventListenerById } from '../utils/domUtils.js';
|
|
|
|
(function (global) {
|
|
global.timestampInit = async function () {
|
|
// 初始化时间戳显示
|
|
initTimestampDisplay();
|
|
|
|
// 绑定事件处理器
|
|
// 绑定时间戳相关按钮事件
|
|
addEventListenerById('toggle-unit-btn', 'click', handleToggleUnit);
|
|
// 绑定计时器相关按钮事件
|
|
addEventListenerById('stop-timer-btn', 'click', handleStopTimer);
|
|
addEventListenerById('start-timer-btn', 'click', handleStartTimer);
|
|
// 绑定时间戳转换按钮事件
|
|
addEventListenerById('convert-timestamp-to-date-btn', 'click', handleConvertTimestamp);
|
|
// 绑定日期转换按钮事件
|
|
addEventListenerById('convert-date-to-timestamp-btn', 'click', handleConvertDateToTimestamp);
|
|
// 绑定复制时间戳按钮事件
|
|
addEventListenerById('copy-timestamp-btn', 'click', handleCopyTimestamp);
|
|
// 绑定关闭面板按钮事件
|
|
addEventListenerById('close-panel-btn', 'click', handleClosePanel);
|
|
// 绑定切换时区事件
|
|
addEventListenerById('timezone-result', 'change', handleTimezoneResult);
|
|
// 绑定输入时区事件
|
|
addEventListenerById('timezone-input', 'change', handleTimezoneInput);
|
|
};
|
|
})(window);
|