《Flex第一步》错误汇总更新 — 内容补充

 Flex第一步》第一版中,有些地方细节上缺乏关键补充,特更正如下(第二次印刷时已经加上):
  
  1、 P60页,倒数第4段后面,添加以下内容:
  
  导入的MouseEvent对象包含了所有的鼠标事件,如单击、双击、鼠标按下、鼠标松开、鼠标移动等等,这些事件名被封装成MouseEvent类的成员属性。在使用时,我们直接引用类成员名,而不需要知道真正的事件名。
  
  ———————————————
  
  MouseEvent的CLICK属性表示鼠标单击事件的名称,第二个参数doClick表示用来响应事件的函数。请注意看该函数的格式:
  
  internal function doClick(evt:MouseEvent):void{
  
  //函数体
  
  }
  
  internal是修饰词,定义了函数的作用范围,void表示函数的返回值类型为空,也就是说函数没有返回值,这些内容在第7章有专门的讲解,这里不再详叙。令人困惑的是函数为什么要定义一个参数evt,且参数的类型是MouseEvent?
  
  这里我们来大致了解下AS3中事件机制的使用流程:
  
  1、注册事件监听器,把监听对象、监听函数等信息记录下来,也就是调用addEventListner方法。比如这里,就是把btn对象、doClick函数等信息记录下来。
  
  2、当事件发生时,FlashPlayer自动生成事件对象,派发出去,同时检查上一步中的记录,看是否有对象监听了该事件,如果有,这些监听函数就会被调用,调用的形式就像:obj.doClick(event),其中obj表示添加了监听器的对象btn,参数event表示事件对象。因此,doClick函数必须准确定义参数的类型,且必须是event对象的数据类型或其父类类型,否则,数据类型不对,将引发运行错误。
  
  因此,在使用 addEventListener方式添加事件监听函数时,该函数在申明时必须定义参数类型,也就是监听的事件类型。当目标发送该事件时,会把事件作为参数传递过来,如果函数没有定义参数,也就无法接受事件传递的信息。
  
  参数的名字可以自由命名,但类型必须是 MouseEvent或者MouseEvent的父类。位于flash.events包中的Event类,是所有事件对象的基类,在不能确定事件类型时,我们可以将参数的类型定义为Event。
  
  —————————————
  
  在这个例子中,添加了一段全局样式表代码来设置……….
  
  2、 P72页,第一段后半部分。
  
  原文:新创建的cartEvent对象还包括了两个属性,存放了必要的信息。当有对象侦听这个事件时,就可以获得这些信息。
  
  修改为:
  
  新创建的cartEvent对象还包括了两个属性:data和cart_check.selected。前者是itemRenderer的数据,在这里对应的就是一条书目信息,即一个book节点的数据;后者是CheckBox的选中状态。我们把这些信息都放在事件对象中,响应这个事件的函数就可以获得这些信息。
  
  3、 P196页,8.2.2节最后补充一段:
  
  有时候,出于需要,我们希望在事件流的某个环节中,终止事件传播,就需要用到这两个函数,避免程序中出现冲突或逻辑错误。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值