javascript事件冒泡学习
来源:互联网 发布:压缩弹簧计算软件 编辑:程序博客网 时间:2024/05/23 13:35
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。
博客:
http://www.cnblogs.com/webflash/archive/2009/08/23/1552462.html 事件冒泡的定义、阻止
http://blog.csdn.net/hzw2312/article/details/7260359 冒泡图解
http://blog.csdn.net/luanlouis/article/details/23927347 冒泡图解
http://www.cnblogs.com/yahari/articles/4739880.html 事件触发过程图解
http://www.cnblogs.com/Chen-XiaoJun/p/6210987.html 冒泡事件和事件捕获的函数该如何写
http://blog.csdn.net/qq_28602957/article/details/60475123 true,事件捕获;false,事件冒泡。默认false,即事件冒泡。
小结:
1、事件冒泡是发生在包含关系的对象中的,而不会发生在兄弟对象关系之间
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><script type="text/javascript" src="jquery.js"></script></head><body><!-- 演示点击不同的对象,可在不同的浏览器下测试会得到不同的捕获方法 --><div ><button>阿牛</button><p>dianwo damd a </p></div><script type="text/javascript">$("div").click(function(){alert("div");})$("body").click(function(){alert("body");})$("button").click(function(){alert("button");console.log($("body").click)})$("p").click(function(){alert("p");})$("body").click(function(){alert("body");})$(document).click(function(){alert("document");})$(window).click(function(){alert("window");})</script></body></html>
2、DOM事件模型的最独特的性质是,文本节点也触发事件(在IE不会)。 见博客2
3、一般地,事件在传递过程中会有一些信息,这些是事件的组成部分:事件发生的时间+事件发生的地点+ 事件的类型+事件的当前处理者+其他信息 见博客3
4、当一个DOM事件被触发时,它不仅仅只是单纯地在本身对象上触发一次,而是会经历三个不同的阶段:
捕获阶段:先由文档的根节点document往事件触发对象,从外向内捕获事件对象;
目标阶段:到达目标事件位置(事发地),触发事件;
冒泡阶段:再从目标事件位置往文档的根节点方向回溯,从内向外冒泡事件对象。
5、对“事件处理程序过多”问题的解决方案就是事件委托。事件委托利用了事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。例如,click事件会一直冒泡到document层次。也就是说,我们可以为整个页面指定一个onclick事件处理程序,而不必给每个可单击的元素分别添加事件处理程序。
- Javascript冒泡事件学习
- javascript事件冒泡学习
- javascript基础学习之-事件冒泡
- JavaScript学习笔记之事件冒泡和事件捕获
- 学习笔记 Javascript事件冒泡和事件捕获详细介绍
- javascript阻止冒泡事件
- javascript 事件冒泡
- javascript冒泡事件
- javascript 处理冒泡事件
- javascript阻止事件冒泡
- javascript 阻止事件冒泡
- javascript事件冒泡
- Javascript中的冒泡事件
- javascript冒泡事件
- javascript冒泡事件2
- javascript 事件冒泡
- javascript 阻止事件冒泡
- Javascript中的事件冒泡
- 图解Elasticsearch中的_source、_all、store和index属性
- Python3教程Web开发实战梳理-day10(用户注册和登录)
- Python 安装 whl文件
- 引用---引用型返回值
- 大数据时代,参数怎么降维?
- javascript事件冒泡学习
- Spring IOC与依赖注入
- Linux Mint 18.2 安装shutter截图工具之快捷键设置
- git 常用命令
- ROM、RAM、DRAM、SRAM和FLASH的区别
- 如何使用阿里云虚拟主机搭建博客(三)设置篇
- Leetcode算法学习日志 -240 Search a 2D Matrix 2
- DATE_ADD() 与 DATE_SUB() 日期的加法与減法
- 2985_数字组合