DOM第四章 事件(下)

本文深入探讨DOM事件,包括事件的传播机制(捕获阶段、目标阶段、冒泡阶段),拖拽操作的实现与问题解决,滚轮事件的应用及其常见问题,以及键盘事件的类型与特性,如onkeydown和onkeyup事件的使用。通过实例解析,展示了如何在实际开发中处理这些事件。
摘要由CSDN通过智能技术生成

第五讲.事件的传播

关于事件的传播,网景公司和微软公司有不同的理解

微软认为事件应该由内向外传播,也就是当事件触发时,应该先触发当前元素上的事件.称为事件的冒泡阶段

而网景公司(已倒闭)相反,认为事件应该是由外向内传播的.也就是事件触发时,应该先触发祖先元素的事件,然后再向内传播给后代元素.称为事件的捕获阶段

w3c综合了两个公司的方案,将事件的传播分成了三个阶段:

  1. 捕获阶段:从最外层的祖先元素(window),向目标的后代元素进行捕获,但是默认此时不会触发事件
  2. 目标阶段:事件捕获到了目标元素,捕获结束开始在目标元素上触发事件
  3. 冒泡阶段:事件从目标元素向它的祖先元素传递,依次触发祖先元素上的事件

默认是从第二阶段捕获到了才开始执行

如果希望在捕获阶段就触发事件,可以将addEventListener的第三个参数设置为true.

但是一般情况下我们不希望在捕获阶段执行,所以参数一般设置为false.

在ie8中没有捕获阶段.

第六讲.拖拽

拖拽box1元素

拖拽的流程:

  1. 当鼠标在被拖拽元素上按下时,开始拖拽
  2. 当鼠标移动时,被拖拽元素跟随鼠标移动
  3. 当鼠标松开时,被拖拽元素固定在当前位置

onmousedown事件 鼠标被按下

onmousemove事件 鼠标移动

onmouseup事件 鼠标被松开

var box1=document.getElementById('box1');//获取box1
box1.onmousedown=function(){
   //为box1绑定鼠标按下事件
    document.onmousemove=function(event){
   
        event=event||window.wvent;//解决兼容性问题
        var left=event.clientX;//获取鼠标的坐标
        var top=event.clientY;
        
        box1.style.left=left+'px';//修改box1的位置
        box1.style.top=top+'px'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/70761177 【完整课程列表】 完整版Java web开发教程PPT课件 Java开发进阶教程 第01章 JavaScript简介以及基本语法(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第02章 Dom模型,控制客户端元素(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第06章 SERVLET(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第07章 JSP语法及运行过程(共13页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第08章 JSP内置对象(共22页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第12章 自定义mvc框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第13章 spring ioc aop(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第14章 spring mvc介绍,原理以及搭建(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第15章 spring mvc核心对象拦截器(共26页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第17章 自定义orm框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第18章 mybatis框架的搭建以及应用(共13页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第19章 mybatis高级应用(共21页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第20章 数据库连接池,缓存(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第22章 常用框架的介绍以及环境搭建(共16页).pptx JS课程案例ebookHTML\网上书店需求文档.doc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值