Home > SYS_Window > addEventListener
SYS_Window.addEventListener() method
新增事件监听
签名
typescript
function addEventListener(
type: ESYS_WindowEventType,
listener: (ev: any) => any,
options?: {
capture?: undefined | false | true;
once?: undefined | false | true;
passive?: undefined | false | true;
signal?: undefined | AbortSignal;
},
): ISYS_WindowEventListenerRemovableObject | undefined;1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
参数名
参数 | 类型 | 描述 |
|---|---|---|
type | 事件类型,当前支持 | |
listener | (ev: any) => any | 事件监听回调 |
options | { capture?: undefined | false | true; once?: undefined | false | true; passive?: undefined | false | true; signal?: undefined | AbortSignal } | (可选) 可选参数 |
返回值
ISYS_WindowEventListenerRemovableObject | undefined
事件监听方法,用于移除事件监听,如若为 undefined 则表示创建事件监听失败
示例
javascript
// 1. 注册 focus 监听(真实场景由用户切换窗口焦点触发,这里用合成事件模拟)
const removable = eda.sys_Window.addEventListener('focus', () => {
console.log('窗口获得焦点');
});
// 2. 检查返回的可移除对象,其中的 type 字段记录了监听的事件类型
console.log('监听注册成功:', removable !== undefined, ',事件类型:', removable.type);
// 3. 模拟一次获得焦点事件,回调同步触发
window.dispatchEvent(new Event('focus'));
// 4. 注销监听,恢复原状
eda.sys_Window.removeEventListener(removable);
console.log('监听已注销');1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14