事件模块的演变(8)

这篇为其增加几个功能

1,延迟handler的执行

2,handler可指定执行上下文,即有时可能需要handler内this不是HTMLElement

3,停止事件冒泡和阻止默认行为

4,阻止元素默认行为

5,停止事件冒泡


为此,将添加事件函数on的接口做了修改。第四个参数是个对象,分别可指定以下参数

E.on(el, 'click', fn, {
		once : // true则该handler仅执行一次
		delay : // handler延迟执行的时间,以毫秒为单位
		scope : // handler执行上下文,默认为el
		stopEvent : // 阻止el默认行为,停止冒泡
		preventDefault : // 阻止默认行为
		stopPropagation : // 停止冒泡
});

示例1 延迟执行

click me
function f1(){alert('Delayed 5 seconds to execution');}
E.on(d1,'click',f1, {
	delay : 5000
});

示例2 改变执行上下文

click me
function f2(){alert(this.name)}
E.on(d2,'click',f2, {
	scope : {name:'jack'}
});

示例3 handler仅执行一次

click me
function f2(){alert(this.name)}
E.on(d3,'click',f3, {
	once : true
});

event-v0.5.js

posted on 2011-05-28 18:33  snandy  阅读(1737)  评论(4编辑  收藏  举报