|
Flash AS2 事件处理机制(26) 使用 addEventListener("click", 事件处理器); 添加事件. 这时, this["click"] 就等于 undefined. (this["click"] == undefined) = true 然后将创建一个新数组来存储事件处理器. this["click"] = []; 然后执行 CFEventDispatcher._removeEventListener(this["click"], 事件处理器); 来检测此事件是否有相同的事件处理器.如果是就删除它. 举个例:当你在一个网站注册用户名时.网站的注册程序会从数据库中检测是否有与你相同的用户名. 如果有将会提示你重新输入用户名(在这里就是直接删除了).如果没有就会注册成功(这里就在后面 执行 push).但是网站的注册程序不会从数据库中检测是否有与你相同的密码. 就是说一个事件,可添加多个不同的事件处理器,但不能添加相同的事件处理器. 当添加新的事件时,也是一样的 最后使用 this["click"].push(事件处理器); 将事件处理器添加到事件数组. */ if (this[event] == undefined) { this[event] = new Array(); } //ASSetPropFlags 是隐藏的方法.用它和不用它貌似没有区别.大家可以研究下. //_global.ASSetPropFlags(this, event, 1); CFEventDispatcher._removeEventListener(this[event], handler);
|