事件监听器

Introduce

libs提供了事件监听工具, 可以用于安全添加dom事件监听, 防止页面消失后,忘记移除事件监听方法的问题.

Example

如果在vue中, 自动会在vue对象中注入 $bpEventMgr 对象.

可以按如下的方式使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
<script>

export default class extends Vue {

mounted() {
// 在组件销毁时将自动移除事件监听.
this.$bpEventMgr.addEventListener(window, 'resize', ()=>{
// ...
});
}
}

</script>

接口

timer接口如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* @desc: 事件管理器.
*/
interface EventMgr {

/**
* @desc 清理所有的事件监听.
*/
dispose(): EventMgr;
/**
* @desc 现存监听数量.
*/
listenerLength(): number;
/**
* @desc: 统一处理 addEventListener, attachEvent; 并提供useCapture参数问题.
*/
addEventListener(domElement:any, event:string, func:any, useCapture?:boolean):EventMgr;

/**
* @desc: 统一处理 removeEventListener, detachEvent; 并提供useCapture参数问题.
*/
removeEventListener(domElement:any, event:string, func:any, useCapture?:boolean):EventMgr;
}