rollOver与mouseOver同样在鼠标移到目标上时触发事件,细微区别在于,mouseOver的bubbles等于true,而rollOver的bubbles是false.
所以当监听MouseEvent.ROLL_OVER事件后,鼠标移动到panel的几个按钮时,程序仍然认为鼠标悬停在panel上方。假设我们监听MouseEvent.MOUSE_OVER, 随着鼠标移到panel的按钮上,程序立刻判断鼠标离开了panel,已经到了按钮上方——这个结果不是我们需要的,此时本应去单击按钮,结果程序判断鼠标离开panel,会直接removeChild或者visible=false。
关于冒泡的话,不得不提AS3的事件流,简单的说就是一个捕捉——目标——冒泡的循环过程:事件发生后,先从显示层中的根容器开始往下层级逐个捕捉直至到达派发事件的目标对象后向上返回冒泡,而这一事件中的target属性始终指向最内层的派发事件目标,currentTarget则顾名思义指向事件流中当前所在的对象。
事件发生后,从根节点到目标节点的父节点,这中间所有节点都有两次机会可以响应事件,分别在捕获和冒泡阶段。在事件流经过的任意节点上注册侦听器都会触发。当然前提是打开了捕获和冒泡功能。
默认情况下,捕获功能处于关闭状态,因为实际开发中,监听目标很明确,没必要捕获。
而事件只有在bubbles属性为true时才进行冒泡,默认冒泡的事件包括:change,click,doubleClick,keyDown,keyUp,mouseDown,mouseUp。一旦捕获打开,默认的冒泡将被取消。
因此在同一个监听器中不能同时打开捕获和冒泡,只能注册两个监听一个开捕获一个开冒泡才行。
只有可视化对象(容器,控件)才有捕获和冒泡阶段,而像XML,WebService等非可视化对象只有目标阶段。
注册侦听器方法为:
addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false)
useCapture即为是否打开捕获功能,
priority为优先级设定,当有多个侦听器时,priority越大,优先级越高越先调用,如果同级的话则按注册的顺序来调用。这里注意即使优先级有先后也无法保证后一个侦听调用执行时前一个侦听函数已执行完毕。
useWeakReference为弱引用开关,推荐设为true,便于垃圾自动回收。但最规范的还是直接removeEventListener。注意当注册监听器打开了捕获,则removeEventListener(type:String, listener:Function, useCapture:Boolean=false)的useCapture必须设为true,否则无效
事件对象的构造方法为:
Event(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
bubbles即为是否冒泡
cancelable为true时可以调用PreventDefault方法停止系统默认的行为。比如输入文本,默认行为会马上显示在文本区,当cancelable为true时调用PreventDefault方法让字符不出现。
另外,Event还有两个方法可以停止事件流的继续传播,stopPropagation和stopImmediatePropagation,区别在于前者不会停止正在处理的对象。而后者还会停止同一object上的其他侦听器。
详细出处参考:http://www.jb51.net/article/20662.htm
分享到:
相关推荐
在Flash AS3.0中,创建二级菜单是一种常见的交互设计技术,主要用于网页、应用程序或游戏的用户界面。这种效果能够提升用户体验,使用户能够更直观地访问和操作深层的导航选项。下面我们将深入探讨如何利用AS3.0实现...
在本文中,我们将深入探讨如何使用Flash AS3.0实现图片缓动收缩-张开的特效,这在创建动态和引人入胜的Flash相册时非常有用。首先,让我们理解涉及的技术点。 1. **AS3.0编程**: ActionScript 3.0是Flash开发中的...
第一章 FlashCS4基础 01_FlashCS4简介 02_选择工具、部分选择工具 03_变形工具 04_套索工具 05_钢笔工具 06_线条工具 07_图形工具 08_图形工具(2) 09_铅笔工具 10_像皮工具 11_擦除所选填充色 12_动画...
《starflash_flash源码》是关于Flash动画效果的开发资源,尤其关注于“鼠标滑过星星闪烁”的特效实现。在Web开发的历史上,Flash曾是创造动态、交互性内容的重要工具,尤其在制作网页动画方面有着广泛的应用。下面将...
$page.eq(index).addClass("scroll_number_over").stop(true,true).siblings().removeClass("scroll_number_over");//图片与索引匹配时实现图片的轮播 $page.mouseover(function(){//鼠标移入 stop=true;//停止...
鼠标在移入到td上面之后,在td的相对位置浮动出一个div,基于相对位置。 jQuery的mouseover操作div。 使用jQuery获取鼠标所在元素。
在Flash这个交互式动画设计工具中,"鼠标划过出现图片"是一种常见的交互效果,它通过ActionScript编程实现,能够增强用户的互动体验。本知识点主要围绕如何在Flash中创建这样的效果进行详细介绍。 首先,我们需要...
在"codesc.net"这个文件中,可能包含了实现这一效果的AS3源代码。通常,代码会定义一个Text对象,然后为其添加鼠标事件监听器,监听mouseover和mouseout事件。在事件处理函数中,通过Tween对象或者直接改变属性值来...
$(".AiEosctbazen li a").mouseover(function(){ curLi=$(this); intervalID=setInterval(onMouseOver,250); }); function onMouseOver(){ $(".active").removeClass("active"); $(".lista").eq($(".AiEosctbazen li...
《Flash鼠标渐变特效源文件》 在网页设计与互动媒体领域,Flash作为一种曾经非常流行的动画制作工具,因其丰富的视觉效果和动态交互性而备受青睐。本资源“Flash鼠标渐变特效源文件.rar”就是一个典型的Flash动画...
2. **编写ActionScript代码**:在AS3.0中,开发者需要为每个菜单项添加事件监听器,例如鼠标悬停(mouseover)和鼠标离开(mouseout)。当这些事件触发时,将调用相应的函数来执行缓动效果。 3. **定义缓动动画**:...
AS3广东地图是一款基于Adobe Flash ActionScript 3.0编程语言开发的地图应用,它提供了对广东省各个区域的可视化展示。这个应用的一个独特功能是当鼠标移动到特定区域时,会弹出提示信息显示该区域的具体信息。这为...
利用切割好的圖片組合,及CSS標箋,在不使用javascript條件下完成mouseover放大區域圖片的效果
标题所涉及的知识点为“jQuery中mouseover事件用法实例”。此主题深入浅出地介绍了jQuery框架下mouseover事件的基本用法,并通过实例讲解了如何应用此事件来响应鼠标指针滑过元素时的交互行为。现在,我将详细分析该...
3. **MovieClip和Button类**:Flash中的按钮可以是MovieClip或Button类的实例。MovieClip具有更多的动画和交互能力,而Button则更专注于按钮行为。在这个效果中,我们可能使用Button类,因为它更适合简单交互。 4. ...
"Mouseover Fade Effect.zip" 是一个压缩包,其内容很可能包含了一个关于网页设计中鼠标悬停淡入效果的实现教程或代码示例。这个效果通常用于提升用户交互体验,当用户将鼠标指针悬停在特定元素上时,该元素会逐渐变...
这涉及到Flash的交互事件处理,例如使用`addEventListener`方法监听鼠标进入(`mouseOver`)和离开(`mouseOut`)事件,然后执行相应的动画代码。 6. **色彩与光照效果**:发光效果通常涉及色彩的渐变和透明度变化...
3. **编写事件处理函数**:创建一个函数来处理`mouseover`事件,在这个函数中,通过改变线条的透明度或显示状态,实现线条消失的效果。 4. **可选:添加mouseout事件**:为了在鼠标离开线条后恢复原状,可以添加`...
3. **事件监听与处理**:在ActionScript中,我们需要为每个菜单项添加鼠标事件监听器,包括`mouseover`(鼠标悬停)、`mouseout`(鼠标离开)和`click`(点击)等,以便在适当的时候触发相应的动作。 4. **结构化...
在JavaScript中,mouseover和mouseout事件是常用的事件,它们分别在鼠标指针进入和离开指定元素时触发。在事件处理中,区分鼠标指针是从子元素移入还是从父元素移出对于正确地触发相应的事件非常关键。本文详细探讨...