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

homeevent › event :

Methods