屏蔽默认的事件功能

来源:互联网 发布:古汉语 知乎 编辑:程序博客网 时间:2024/06/07 23:16
原文:http://www.darronschall.com/weblog/archives/000276.cfm

这种情况一般适用于自定义的组件。
作者举了个例子,比如标签式的导航,在点击标签上的关闭按钮时,该标签页就关了。而如果想要在点击以后,先弹出提示框提示一下呢?

在as3里面,屏蔽默认的事件功能需四步:
1. 创建一个Event时,将cancelable设置为true,也就是第三个参数。
2. 给定事件监听者一个比较低的优先权。(EventPriority.DEFAULT_HANDLER 这个是Flex框架里面的,其实就是 -50)
3. 在自己的事件处理函数中,调用event.preventDefault()。
4. 在默认的事件处理函数中,用event.isDefaultPrevented()检查是否要实现默认行为。

最后还需要看情况把默认的事件功能给包个API出来。就上面的例子看,如果没有一个关闭的API,那在弹出提示框以后,就只能呆那儿了......
原创粉丝点击