js 事件的传播机制(实例讲解)
时间:2019-03-30
本文章向大家介绍js 事件的传播机制(实例讲解),主要包括js 事件的传播机制(实例讲解)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
事件的默认传播机制:
捕获阶段:从外向里依次查找元素
目标阶段:从当前事件源本身的操作
冒泡阶段:从内到外依次触发相关的行为(我们最常用的就是冒泡阶段)
具体见下图:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #outer{ margin:20px auto; padding:20px; width:300px; height:300px; background:#008000; } #inner{ padding:20px; width:200px; height:200px; background:blue; } #center{ padding:20px; width:100px; height:100px; background:yellow; } </style> </head> <body> <div id='outer'> <div id='inner'> <div id='center'></div> </div> </div> <script> var outer = document.getElementById('outer'),inner = document.getElementById('inner'),center = document.getElementById('center'); //使用DOM0级事件绑定给元素的某一个行为绑定的方法,都是在行为触发后的冒泡阶段把方法执行的 document.body.onclick = function(){ console.log('body') } outer.onclick = function(){ console.log('outer') } inner.onclick = function(){ console.log('inner') } center.onclick = function(){ console.log('center') } //addEventListener 第一个参数是行为的类型 第二个参数是给当前的行为定义的方法 第三个参数是控制在哪个阶段发生:true 在捕获阶段发生 false在冒泡阶段发生 document.body.addEventListener('click',function(){ console.log('body') },false) outer.addEventListener('click',function(){ console.log('outer') },true) inner.addEventListener('click',function(){ console.log('inner') },false) //输出 outer inner body </script> </body> </html>
以上这篇js 事件的传播机制(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Centos 7 安装 Git
- 受限平均生存时间(Restricted mean survival time)简析及R语言实现
- Leetcode 695. 岛屿的最大面积 (DFS)
- mskcc的vcf2maf极简解决方案代码分享
- 乘法逆元 线性递推阶乘求逆元、费马小定理、普适线性求逆元 欧拉定理结论
- 最新最全的varscan 软件找somatic mutation
- 【每周一库】- toml 一个toml文件解析库
- Rust FFI 编程 - bindgen 使用示例
- bug 回忆录(三)
- bug 回忆录(二)
- bug 回忆录(一)
- 曾经绊倒我的 “超级丑数”
- Flutter 完成全平台制霸:实现 Windows 应用支持
- 尤大 4 天前发在 GitHub 上的 vue-lit 是啥?
- 原创的20个Python自动化案例,一口一个,高效办公!