KISSY.Event 提供添加、删除监听函数的事件操作方法。你可以用它来操作 DOM 对象的事件,也可以用来操作自定义 EventTarget 对象的事件。与事件相关的功能,只要你能想到,它基本上都能做到。赶快了解它吧,从这里开始。
Methods
add
void add ( target, type, fn, scope )
void on ( target, type, fn, scope )
给目标对象指定类型的事件添加监听函数。
on 是 add 的别名。
- Parameters:
-
target
<EventTarget>
事件目标对象。可以是选择器或数组。 -
type
<String>
事件类型。可以是空格分隔的多个类型。 -
fn
<Function>
监听函数。执行时,接收 1 个参数:事件对象 ev. -
scope
<Object>
监听函数的 this Object. 默认指向 target.
var S = KISSY, Event = S.Event;
// 最常规的用法
Event.add(document, 'click', function(ev) {
// handle code
});
// 支持选择器
Event.add('.class', 'click', function(ev) {
// handle code
});
// 支持多类型
Event.add('#id', 'mouseenter mouseleave', function(ev) {
// handle code
});
不要怀疑,就这么简单。因为本来就应该如此简单!
remove
void remove ( target, type, fn )
从目标对象中移除监听函数。
参数和 add 一致,无需多说。直接看代码:
var S = KISSY, Event = S.Event;
// 最常规的用法
Event.remove(el, 'click', fnName);
// 支持选择器
Event.remove('.class', 'click', fnName);
// 支持多类型
Event.remove('#id', 'focus mouseover', fnName);
// 支持移除特定事件类型下所有监听函数
Event.remove(el, 'click');
// 支持移除特定元素下的所有事件类型的所有监听函数
Event.remove(el);
在 ie 下,当页面关闭时,KISSY 会自动移除掉通过 KISSY 注册的所有事件。这能有效避免 ie 下由事件注册导致的内存泄漏。
囧,这么简单,也敢号称“只要你能想到,它基本上就能做到”?请稍安毋躁,精彩才刚上映。
继续阅读 event-object