首页 教程 API文档

添加事件代理

2015-09-08 16:38:46

属性


使用频率
所属模块 Std.dom
成员类型 公有成员函数

描述


delegate方法用于在当前元素中添加事件代理.

事件代理表示在当前元素绑定一个对应的事件,但是该事件只会在与指定css selector匹配的当前元素的后代元素上被触发.

例如在body上绑定一个click事件,指定选择器为button时候,那么在点击的时候,只有在这个button属于body的后代元素的情况下,事件才会被触发.

事件代理减少逐个元素绑定带来的性能开销,也也可以解决动态添加的元素无法触发事件的问题.


(注意: 不建议使用事件代理方法绑定mousemove这类型触发频繁的事件)

语法



Object delegate(String eventName,String selector,Function callback);
        

参数


类型 描述
String 要绑定的事件名称
String 要匹配的后代元素的css选择器
Function 事件函数

返回值


this对象

相关例子



Std.dom("body").delegate("click","button",function(){
    alert("button clicked");
});