闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   请大家多多关注[Flex应用案例],更希望大家[推荐好的案例]给我们
当前位置 :首页>Flex-AIR>Flex资料>列表

flex中移除由MXML标签添加的侦听

[来源:L4cd.Net | 作者:L4cd | 时间:2008-12-02 | 点击:  | 收藏本文  【 】]
5uflash文章摘要:在flex中我们可以很方便的在mxml标签中使用事件名="函数名()"来给对象添加侦听.. 像click="goUrl()" 可是当我们不需要该侦听的时候.. 如果想使用 id.removeEventListener("click",goUrl)来删除侦听. 却发现怎么也remove不成功.. 原来使
在flex中我们可以很方便的在mxml标签中使用事件名="函数名()"来给对象添加侦听..
click="goUrl()"

可是当我们不需要该侦听的时候..
如果想使用
id.removeEventListener("click",goUrl)来删除侦听.
却发现怎么也remove不成功..

原来使用该方法给对象添加侦听时..
flex并不是直接使用我们指定的函数(goUrl),
而是先动态生成一个函数.
然后再使用该函数调用我们指定的函数..

所以我们使用id.removeEventListener("click",goUrl)当然就失败了...

正当ym的时候..记得之前使用过状态(state)来移除过这样的侦听..
马上试了下一下..

<mx:states>
  <mx:State name="statename">
    <mx:SetEventHandler target="{obj}" name="click"/>
  </mx:State>
</mx:states>
运行了一下..果然成功了..

无耐之下只好把swf反编译一下...终于在代码里看到了
一个叫"__obj_click"的函数..

猜想这个应该就是由flex动态添加的函数..于是试了一下...

obj.removeEventListener("click",this["__obj_click"]);
//这里需要注意..为什么不直接使用__obj_click
而使用this["__obj_click"],
因为当flex编译时..__obj_click 这个函数还不存在,直接调用会出错..所以取巧一下..

保存运行..侦听成功删除...猜想正确...

分析一下该函数的规律..
第一部份是"__"
第二部份是对象ID
第三部份是"_"
第四部份是事件名

相应的
mouseOver事件就是__obj_mouseOver
mouseDown事件就是__obj_mouseDown
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:聚合的Flex Learn Path资源站点
下一篇:Flex Developer’s Toolbox
Tags:    
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  Flex及AIR分类
  Flex资料   Flex动态
  Flex案例   Flex源码
  AIR资讯
  搜索本站资料
Google
  Flex相关
  寻找Flex工作机会
  发布Flex工作机会
  相关文章
·Flex 4 Spark DockBar 浮动工具
·Visual Studio中使用Adobe的Flex
·Flex 4实现分页
·利用flixel和Flash Builder 4创
·Flex辅助产品-扩展工具包 1.X
·Flex控制对主机网页中脚本的访问
·flex应用中如何关闭浏览器
·基于Flex的免费在线的家庭设计装
·Flash Builder 4添加数据可视化
·Flex 4设置Spart Button控件的强
  热门文章
·Flex 3 AdvancedDataGrid的使用(第二
·Flex中文官方帮助教程下载
·如何从零开始编写一个flex组件
·用Adobe Flex 2和Java创建富Internet
·FLEX地图应用教程之一
·Flex 3 发现之旅:AdvancedDataGrid的
·基于Flex的在线图片编辑器
·学习Flex几个值得研究的例程代码
·FlexUnit 的用法
·Flex 3 dvancedDataGrid的使用(第一部
·Flex 入门教程
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号