MouseEvent值得一提的几点


一、单击和双击:
CLICK:要使单击事件发生,它必须始终在以下顺序的一系列事件后面:mouseDown事件,然后是mouseUp事件。这两个事件的目标对象必须相同,否则不会发生click事件。mouseDown或mouseUp事件之间的任何时间会发生任何数量的其它鼠标事件,比如MOVE,click事件仍会发生。
双击:首先要把InteractiveObject.doubleClickEnabled=true,否则目标只是接收两个CLICK事件。要使doubleClick事件发生,它必在以下一系列事件后面:mouseDown、mouseUp、click、mouseDown、mouseUp。所有这些事件必须共享与doubleClick事件相同的目标。第二个mouseDown和mouseUp事件代表第二次单击,该行为必须在click事件之后的指定时间段内发生。该时间段的允许长度因操作系统而异,而且通常可由用户配置。


二、容器的mouseChildren属性和InteractiveObject的mouseEnabled属性
如果容器中的子对象不需要或者我们不希望它参与鼠标互动,可以将mouseChildren属性设置为false,这样鼠标事件的target属性就会指向容器,而不是最里层的显示对象。同样的,所有InteractiveObject的子类对象都有mouseEnabled属性,设置为false,也可以达到目的。


三、MOUSE_OVER、MOUSE_OUT和ROLL_OVER、ROLL_OUT的区别
ROLL系列的bubbles属性为false,即不参与事件冒泡。举例,容器C有对象A和B。如果A和B不需要接受鼠标事件,可以直接把mouseEnabled设置为false或者将C的mouseChildren设置为false。但如果A和B需要接受其他鼠标事件,我们又不想用MOUSE_OVER、MOUSE_OUT导致容器C不停地发出事件,就可以用ROLL系列。


四、mouseWheel
当鼠标滚轮滚动到InteractiveObject实例上时调度。如果目标为文本字段,则作为默认行为,该文本会滚动。可以使用systemManager进行侦听,并在侦听函数里进行处理,可能要用到delta属性:
delta属性
指示用户将鼠标滚轮每滚动一个单位应滚动多少行。正delta值指示向上滚动;负值指示向下滚动。通常所设的值为1到3;值越大,滚动得越快。此设置取决于设备和操作系统,并且通常可由用户配置。此属性仅应用于MouseEvent.mouseWheel事件。

你可能感兴趣的:(ActionScript3.0)