关于事件冒泡

原创 2004年06月23日 10:45:00

在控件中定义冒泡的事件
  如果希望控件为它所定义的事件冒泡,控件只要从引发该事件的OnEventName方法调用RaiseBubbleEvent.
  示例:定义一个启用冒泡的Command事件
        protected virtual void OnCommand(CommandEventArgs e)
        {
            CommandEventHandler handler = (CommandEventHandler)Events[EventCommand];
            if(handler != null)
                handler(this,e);
            RaiseBubbleEvent(this,e);
        }
  注意:事件冒泡并不限于命令事件。可以使用此机制使任何事件冒泡


控件对冒泡事件的处理
  1.如果不重写OnBubbleEvent,事件会自动冒泡到上级.
  2.重写OnBubbleEvent,并从OnBubbleevent调用RaiseBubleEvent,控件进行一些处理并继续使事件冒泡.
  示例:在检查事件参数的类型后使事件冒泡
   protected override bool OnBubbleEvent(object source,EventArgs e)
      {
          if(e is CommandEventArgs)
          {
              TemplatedListCommandEventArgs args = new TemplatedListCommandEventArgs(this,source,(CommandEventArgs)e);
              RaiseBubbleEvent(this,args);
              return true;
          }
          return false;
      }
  3.重写OnBubbleEvent 以调用引发此冒泡的事件的OnEventName方法.引发冒泡的事件的控件(够绕的)通常将冒泡的事件公开为顶级事件.
  注意:在 .NET Framework中 OnEventName方法的标准签名有一个参数(protected void OnEventName (EventArgs e))。但是,OnBubbleEvent有两个参数,因为该事件并不是在处理事件的控件中定义(起源)的,而是起源于控件之外;它的第二个参数的作用是提供源。

Vue如何阻止事件冒泡

如何 解决 vue里面的 冒泡事件 方案如下: a v-on:click.stop="doThis">a>   form v-on:submit.pre...
  • qq_30632003
  • qq_30632003
  • 2017年03月02日 17:35
  • 389

深入理解JavaScript事件冒泡

一、什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么...
  • q121516340
  • q121516340
  • 2016年05月27日 14:29
  • 1987

js事件捕获和事件冒泡

事件捕获,事件冒泡,阻止事件冒泡
  • u013464954
  • u013464954
  • 2016年10月11日 19:08
  • 168

解析Javascript事件冒泡机制

1.事件 2.冒泡
  • u010349169
  • u010349169
  • 2014年04月18日 12:45
  • 11525

事件冒泡原理自我理解以及使用

首先,这是我自己在学习过程中对于时间冒泡原理的理解,如果有不对的地方,读者尽可提出,不断学习。 1.事件冒泡,就是元素自身的事件被触发后,如果父元素有相同的事件,如onclick事件,那么元素本身的触...
  • L_YNAN
  • L_YNAN
  • 2017年06月24日 15:00
  • 1113

事件冒泡的解决方案

1、事件冒泡:        在一个对象上触发某类事件(例如单击事件onclick事件),若果此对象定义了此事件的处理程序,那么就会调用这个处理程序;但是如果没有定义此事件的处理程序或者事件返回tr...
  • fb_01
  • fb_01
  • 2016年04月18日 17:03
  • 344

阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别

今天来看看前端的冒泡和事件默认事件如何处理 1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法...
  • wxl1555
  • wxl1555
  • 2016年11月11日 15:06
  • 16703

JavaScript中事件捕获和事件冒泡以及如何阻止冒泡事件和默认事件

1. 阻止冒泡事件 主要是用于阻止事件传播。阻止它被分派到其他的DOM节点上,在事件传播的任何阶段都能使用。使用方法如下(兼容IE): function stopBubble(event){ if(...
  • michael8512
  • michael8512
  • 2017年08月21日 11:15
  • 276

JS阻止冒泡事件和默认事件(IE和其他浏览器兼容)

冒泡事件:比如我们点击了一个元素然后从它本身开始一层一层向上的父元素都做出反应直到根元素 默认事件:像a标签的点击跳转和页面鼠标右键单击弹出菜单等都是默认事件 我们有时想要阻止这些事件需要注意的是IE...
  • liona_koukou
  • liona_koukou
  • 2016年11月18日 10:33
  • 1695

angularJS如何处理事件冒泡

事件冒泡和事件捕捉一直以来都是被讨论的话题,也许大家平时在工作中没有遇到过需要解决事件冒泡的情况 举个栗子: 从以上的代码中的fun1(),fun2()和...
  • Sourcecode_poet
  • Sourcecode_poet
  • 2016年12月07日 19:44
  • 3103
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于事件冒泡
举报原因:
原因补充:

(最多只允许输入30个字)