一、事件对象的属性

1、键盘事件:    只有window,document,表单元素可以触发

keydown   按键按下

keypress   按键按住

keyup(触发一次)   按键弹起

2、键盘事件的事件对象的属性

事件对象包含一系列的信息:

    1、事件源头  

  2、事件类型

3、按下哪个键(ev.keyCode:返回数字,每个键对应不同的数字,回车键对应13)

4、是否按下Ctrl键

(ev.ctrlKey:返回true代表按了Ctrl,返回false代表没有按Ctrl)

(ev.altKey:返回true代表按了Alt,返回false代表没有按Alt)


二、元素的各种大小和位置

1. 获取元素的大小

1.1 元素的可视宽(不包含边框) odiv.clientWidth

1.1 元素的占位宽(包含边框) odiv.offsetWidth

2. 获取浏览器窗口的宽度

1.1 window.innerWidth(包含滚动条)

1.2 document.body.clientWidth(不包含滚动条)

3. 元素.offsetLeft:

获取距离它最最近的具有定位的父级元素的左偏移量,父级没有定位,会相对于body来获取

注意】元素(绝对定位的)

4.元素.offsetTop:

获取距离它最最近的具有定位的父级元素的上偏移量,父级没有定位,会相对于body来获取

    【注意】元素(绝对定位的)


三、事件流(事件传播):描述页面接收事件顺序

事件发生时,会在元素节点之间传播的顺序

1、网景公司:

事件捕获==>事件发生时,从最不具体元素,依次向下传播到最具体的元素(由外向内传播)

2、微软公司:

事件冒泡==>事件发生时,从具体元素,依次向上传播到最不具体的元素(由内向外传播)

3、W3C规定:事件传播有3个阶段

3-1捕获阶段(由外向内)

3-2目标阶段(具体点击的是谁  ev.target)

3-3冒泡阶段(由内向外)

    【注】DOM2级可以支持捕获,DOM0级不支持捕获写法

事件源.addEventListener('事件类型',事件处理函数,布尔值true/false)

    【注】true代表事件捕获,false代表事件冒泡(不写默认值false)


四、this和target

1、ev.target:获取点击的具体元素

2、ev.srcElement:获取点击的具体元素IE写法

3、this指的是绑定事件的那个元素   


五、事件委托

给每一个li添加点击事件

1、获取li

2、遍历li

3、给给一个li添加点击事件

缺点:每一个li身上都有一个onclick,占用系统内存,资源消耗大

 事件委托可以解决这个问题

1、把绑定事件委托父元素来处理

2、利用的是冒泡元素

优点:资源消耗少,降低内存占用,新增元素也会获得父元素的事件

【12-16】事件对象相关推荐

  1. 后处理程序文件大小的变量_【每日一题】(17题)面试官问:JS中事件流,事件处理程序,事件对象的理解?...

    关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 2020,实「鼠」不易 2021,「牛」转乾坤 风劲潮涌当扬帆,任重道远须奋蹄! 一.前言 2020.12.23 立 ...

  2. js进阶课程 12-9 jquery的事件对象event的方法有哪些?

    js进阶课程 12-9 jquery的事件对象event的方法有哪些? 一.总结 一句话总结:三组六个,阻止默认事件一组,阻止冒泡一组,阻止冒泡和剩余事件一组. 1.事件的默认动作指什么? 比如点a标 ...

  3. 第53天:鼠标事件、event事件对象

    -->鼠标事件 -->event事件对象 -->默认事件 -->键盘事件(keyCode) -->拖拽效果 一.鼠标事件 onclick ---------------鼠 ...

  4. jQuery慢慢啃之事件对象(十一)

    1.event.currentTarget//在事件冒泡阶段中的当前DOM元素 $("p").click(function(event) {alert( event.current ...

  5. Js事件对象EventUtil

    1 var EventUtil = { 2 getEvent: function(event){ //获取事件对象 3 return event ? event : window.event; 4 } ...

  6. Web基础——JavaScript之事件绑定与事件对象

    目录 1.事件的绑定 2.事件的绑定(注意事项) 3.失去焦点和获得焦点 4.键盘事件 5.鼠标事件 6.表单事件 7.页面加载事件 8.下拉框事件 9.事件对象 10.currentTarget和t ...

  7. 104_鼠标事件对象

    1. 当发生mousedown.mouseup.dblclick.mouseover.mouseenter.mousemove.mouseout和 mouseleave事件时, 它们的执行函数都会传递 ...

  8. JavaScript基础13-day15【DOM增删改、DOM添加删除记录、操作内联样式、获取元素的样式、DOM Element 对象、滚动条练习、事件对象、div跟随鼠标移动、事件冒泡】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  9. jQuery学习笔记系列(三)——事件注册、事件处理、事件对象、拷贝对象、多库共存、jQuery插件、toDoList综合案例

    day03 - jQuery 学习目标: 能够说出4种常见的注册事件 能够说出 on 绑定事件的优势 能够说出 jQuery 事件委派的优点以及方式 能够说出绑定事件与解绑事件 能够说出 jQuery ...

  10. 小程序 | 小程序中常用的事件 + 事件对象的属性列表 +小程序事件传参 + 小程序全局配置 + 小程序页面配置 + 小程序发起网络数据请求

    文章目录 一.WXML 模板语法 数据绑定 事件绑定 ⭐小程序中常用的事件 ⭐事件对象的属性列表 target 和 currentTarget 的区别 bindtap 的语法格式 在事件处理函数中为 ...

最新文章

  1. kali linux网络配置
  2. sublime_text配置php调试环境,SublimeText2配置PHP调试环境(在windows环境下)
  3. Android MVC,MVP,MVVM模式入门——重构登陆注册功能
  4. 思科与华为生成树协议的对接
  5. MySQL 数据库常用存储引擎的特点
  6. java 扫描所有子类_java获取全部子类或接口的全部实现
  7. react学习(51)--避免死循环
  8. 微信小程序 WXBizDataCrypt 解密 报错
  9. curl在android服务器上编译,Android curl的上载编译和使用
  10. kylin与superset集成实现数据可视化
  11. v4l2驱动框架_【干货分享】Xilinx Linux V4L2视频管道(Video Pipeline)驱动程序分析...
  12. Android 功耗优化(13)---功耗基础知识
  13. 太赞了!阿里巴巴AI每天服务全球10亿人
  14. MIUI 11或随小米MIX4共同发布 登场时间9月至10月间
  15. viper4android百度云盘,【图片】打造安卓最强音效,ViPER4Android【西南模范吧】_百度贴吧...
  16. c#虹软2.0免费人脸识别 实例
  17. python手写汉字识别项目_TensorFlow 2.0 中文手写字识别(汉字OCR)
  18. 操作系统动态分区分配方式C/C++语言(首次适应算法(FF)循环首次适应算法(NF)最best适应算法(BF)最坏适应算法(WF))
  19. 移动支付清算平台介绍
  20. JAVA架构演变过程

热门文章

  1. Python 爬虫十六式 - 第八式:实例解析 - 全书网
  2. 【柔弱的坚强】央视记者柴静的五分钟平淡无奇的演讲
  3. 替柴静说几句话--针对那些不做事的愤青
  4. 微信朋友圈变脸“生意场” 你会捧场吗?
  5. 《宏观经济学》第三章
  6. div+css 纵向导航菜单及二级菜单弹出
  7. FTP上传文件 名称中文乱码问题
  8. 在GVA框架中用go写接口的步骤
  9. 自动驾驶 | Apollo无人驾驶课程笔记3-定位
  10. 微信公众号开发接入,利用微信公众平台申请测试号进行本地开发