事件冒泡阻止event.stopPropagation()

简介:

package
{

import flash.display.*;
import flash.events.*;
import flash.text.*;

public class EventBubble extends Sprite
{
    private var msgTxt:TextField;
    public var msg_txt:TextField;
    private var father1:Sprite;
    private var father2:Sprite;
    private var child1:Sprite;
    private var child2:Sprite;

    public function EventBubble()
    {
        this.father1 = new Sprite();
        this.father2 = new Sprite();
        this.child1 = new Sprite();
        this.child2 = new Sprite();
        this.msgTxt = this.getChildByName("msg_txt") as TextField;
        this.father1.graphics.beginFill(6671615);
        this.father1.graphics.drawRect(0, 0, 180, 140);
        this.father1.graphics.endFill();
        this.father1.x = 0;
        this.father1.y = 0;
        addChild(this.father1);
        this.father2.graphics.beginFill(5854273);
        this.father2.graphics.drawRect(0, 0, 180, 140);
        this.father2.graphics.endFill();
        this.father2.x = this.father1.x + this.father1.width + 5;
        this.father2.y = this.father1.y;
        addChild(this.father2);
        this.child1.graphics.beginFill(5854273);
        this.child1.graphics.drawRect(0, 0, 80, 40);
        this.child1.graphics.endFill();
        this.child1.x = 20;
        this.child1.y = 20;
        this.father1.addChild(this.child1);
        this.child2.graphics.beginFill(6671615);
        this.child2.graphics.drawRect(0, 0, 80, 40);
        this.child2.graphics.endFill();
        this.child2.x = 20;
        this.child2.y = 20;
        this.father2.addChild(this.child2);
        this.father1.addEventListener(MouseEvent.CLICK, this.fatherClickHandler);
        this.father2.addEventListener(MouseEvent.CLICK, this.fatherClickHandler);
        this.child1.addEventListener(MouseEvent.CLICK, this.child1ClickHandler);
        this.child2.addEventListener(MouseEvent.CLICK, this.child2ClickHandler);
        return;
    }// end function

    private function fatherClickHandler(event:MouseEvent) : void
    {
        trace("冒了。");
        this.msgTxt.appendText("冒了。\n");
        return;
    }// end function

    private function child1ClickHandler(event:MouseEvent) : void
    {
        trace("冒泡了嗎?");
        this.msgTxt.appendText("冒泡了嗎?\n");
        return;
    }// end function

    private function child2ClickHandler(event:MouseEvent) : void
    {
        event.stopPropagation();
        trace("冒泡了嗎?");
        this.msgTxt.appendText("冒泡了嗎?\n");
        return;
    }// end function

}

}
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2010/05/19/1739441.html如需转载请自行联系原作者

jiahuafu

相关文章
|
6天前
|
JavaScript 前端开发 UED
事件冒泡
【10月更文挑战第29天】事件冒泡是 JavaScript 中一种强大的事件传播机制,理解和正确使用事件冒泡可以帮助开发者实现更加高效、灵活的网页交互效果。在实际开发中,需要根据具体的需求和场景,合理地利用事件冒泡,并注意处理可能出现的事件冲突和兼容性问题。
|
4月前
|
JavaScript
js 事件流、事件冒泡、事件捕获、阻止事件的传播
js 事件流、事件冒泡、事件捕获、阻止事件的传播
73 1
|
6月前
|
JavaScript
|
6月前
|
Web App开发 JavaScript 前端开发
jquery的冒泡事件event.stopPropagation()
jquery的冒泡事件event.stopPropagation()
41 0
|
JavaScript
js中 事件流与阻止冒泡 事件对象.stopPropagation()
js中 事件流与阻止冒泡 事件对象.stopPropagation()
|
前端开发
事件冒泡
事件冒泡
61 0
|
JavaScript 前端开发
JS的冒泡和如何阻止事件冒泡
JS的冒泡和如何阻止事件冒泡
164 0
|
JavaScript 前端开发
事件冒泡、事件捕获和事件委托
事件冒泡、事件捕获和事件委托
62 0
|
JavaScript 程序员
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
160 0
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
|
JavaScript
click与addEventListener和removeEventListener事件详解
click与addEventListener和removeEventListener事件详解
click与addEventListener和removeEventListener事件详解