1. [
  1. 课程介绍
  2. ](_index_)
    1. [
  1. htmlcss入门
  2. ](001day_index)
  3. -
  4. [
  5. html概述及基本结构
  6. ](001day_section02)
    1. [
  1. html标签入门
  2. ](001day_section03)
    1. [
  1. html布局入门
  2. ](001day_section04)
    1. [
  1. css介绍
  2. ](001day_section05)
    1. [
  1. css载入方式
  2. ](001day_section06)
    1. [
  1. css选择器一
  2. ](001day_section07)
    1. [
  1. css元素属性及盒子模型
  2. ](001day_section08)
    1. [
  1. css文本属性
  2. ](001day_section09)
    1. [
  1. css基本布局演示
  2. ](001day_section10)
    1. [
  1. htmlcss进阶
  2. ](002day_index)
  3. -
  4. [
  5. 相对地址与绝对地址
  6. ](002day_section01)
    1. [
  1. 列表
  2. ](002day_section02)
    1. [
  1. 表单
  2. ](002day_section03)
    1. [
  1. 表格
  2. ](002day_section04)
    1. [
  1. css选择器二
  2. ](002day_section05)
    1. [
  1. css显示特性
  2. ](002day_section06)
    1. [
  1. css元素溢出
  2. ](002day_section07)
    1. [
  1. htmlcss高级
  2. ](003day_index)
  3. -
  4. [
  5. 定位
  6. ](003day_section01)
    1. [
  1. css权重
  2. ](003day_section02)
    1. [
  1. photoshop辅助测量与取色
  2. ](003day_section03)
    1. [
  1. 前端页面开发流程
  2. ](003day_section04)
    1. [
  1. javascript入门及进阶
  2. ](004day_index)
  3. -
  4. [
  5. JavaScript介绍
  6. ](004day_section01)
    1. [
  1. JavaScript嵌入页面的方式
  2. ](004day_section02)
    1. [
  1. 变量、数据类型及基本语法规范
  2. ](004day_section03)
    1. [
  1. 函数
  2. ](004day_section04)
    1. [
  1. 获取元素方法
  2. ](004day_section05)
    1. [
  1. 操作元素
  2. ](004day_section06)
    1. [
  1. 事件属性及匿名函数
  2. ](004day_section07)
    1. [
  1. 条件语句
  2. ](004day_section08)
    1. [
  1. javascript高级
  2. ](005day_index)
  3. -
  4. [
  5. 数组及操作方法
  6. ](005day_section01)
    1. [
  1. 循环语句
  2. ](005day_section02)
    1. [
  1. 字符串及操作方法
  2. ](005day_section03)
    1. [
  1. 定时器
  2. ](005day_section04)
    1. [
  1. 调试程序的方法
  2. ](005day_section05)
    1. [
  1. 变量作用域
  2. ](005day_section06)
    1. [
  1. 封闭函数
  2. ](005day_section07)
    1. [
  1. JQuery入门
  2. ](006day_index)
  3. -
  4. [
  5. jquery介绍
  6. ](006day_section01)
    1. [
  1. jquery文档加载完再执行
  2. ](006day_section02)
    1. [
  1. jquery选择器
  2. ](006day_section03)
    1. [
  1. jquery样式操作
  2. ](006day_section04)
    1. [
  1. 绑定click事件
  2. ](006day_section05)
    1. [
  1. jquery动画
  2. ](006day_section06)
    1. [
  1. JQuery进阶
  2. ](007day_index)
  3. -
  4. [
  5. jquery特殊效果
  6. ](007day_section01)
    1. [
  1. jquery链式调用
  2. ](007day_section02)
    1. [
  1. jquery属性操作
  2. ](007day_section03)
    1. [
  1. jquery事件
  2. ](007day_section04)
    1. [
  1. 表单验证
  2. ](007day_section05)
    1. [
  1. JQuery高级
  2. ](008day_index)
  3. -
  4. [
  5. 事件冒泡
  6. ](008day_section01)
    1. [
  1. 事件委托
  2. ](008day_section02)
    1. [
  1. Dom操作
  2. ](008day_section03)
    1. [
  1. javascript对象
  2. ](008day_section04)
    1. [
  1. json
  2. ](008day_section05)
    1. [
  1. ajax
  2. ](008day_section06)
    1. [
  1. ES6语法
  2. ](009day_index)
  3. -
  4. [
  5. 变量声明和赋值
  6. ](009day_section01)
    1. [
  1. 函数相关
  2. ](009day_section02)
    1. [
  1. 模块及面向对象
  2. ](009day_section03)
    1. [
  1. 异步请求数据
  2. ](009day_section04)
    1. [
  1. 新增数组操作方法
  2. ](009day_section05)
    1. [
  1. react入门和进阶
  2. ](010day_index)
  3. -
  4. [
  5. react介绍
  6. ](010day_section01)
    1. [
  1. 快速开始
  2. ](010day_section02)
    1. [
  1. JSX语法
  2. ](010day_section03)
    1. [
  1. 组件和属性(props)
  2. ](010day_section04)
    1. [
  1. 绑定事件
  2. ](010day_section05)
    1. [
  1. 状态(state)
  2. ](010day_section06)
    1. [
  1. 列表渲染
  2. ](010day_section07)
    1. [
  1. 表单数据绑定
  2. ](010day_section08)
    1. [
  1. react高级
  2. ](011day_index)
  3. -
  4. [
  5. 生命周期方法
  6. ](011day_section01)
    1. [
  1. 数据交互
  2. ](011day_section02)
    1. [
  1. 脚手架开发
  2. ](011day_section03)
    1. [
    2. 本書使用 GitBook 釋出
    3. ](https://www.gitbook.com)

前端开发课程

事件冒泡

什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。

事件冒泡的作用 事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。

阻止事件冒泡 事件冒泡机制有时候是不需要的,需要阻止掉,通过 event.stopPropagation() 来阻止

  1. $(function(){
  2. var $box1 = $('.father');
  3. var $box2 = $('.son');
  4. var $box3 = $('.grandson');
  5. $box1.click(function() {
  6. alert('father');
  7. });
  8. $box2.click(function() {
  9. alert('son');
  10. });
  11. $box3.click(function(event) {
  12. alert('grandson');
  13. event.stopPropagation();
  14. });
  15. $(document).click(function(event) {
  16. alert('grandfather');
  17. });
  18. })
  19. ......
  20. <div class="father">
  21. <div class="son">
  22. <div class="grandson"></div>
  23. </div>
  24. </div>

阻止默认行为 阻止表单提交

  1. $('#form1').submit(function(event){
  2. event.preventDefault();
  3. })

合并阻止操作 实际开发中,一般把阻止冒泡和阻止默认行为合并起来写,合并写法可以用

  1. // event.stopPropagation();
  2. // event.preventDefault();
  3. // 合并写法:
  4. return false;

课堂练习 页面弹框(点击弹框外弹框关闭);