渡一教育公开课web前端开发JavaScript精英课学习笔记(十五)事件

事件

是前端语言,互联网体验的核心功能。

添加和移除事件处理

window事件

WebSocket示例

WebSocket示例

事件的冒泡和捕获

事件冒泡:结构上(非视觉上)嵌套关系的元素,会存在事件冒泡功能,即同一事件,自子元素冒泡向父元素(自底向上)。

事件捕获:结构上(非视觉上)嵌套关系的元素,会存在事件捕获功能,即同一事件,自父元素捕获至子元素(自顶向下)。

一个对象的一个事件处理,只能追寻一种事件处理模型,即有冒泡不捕获,有捕获不冒泡。

只有Google浏览器实现了事件捕获,IE没有捕获事件。

触发顺序,先捕获,后冒泡。

focus,blur,change,submit,reset,select 等事件不冒泡。

window事件

点击最里层的div时(代码结构上的最里层),外面两层div也响应了点击事件。这个现象就叫冒泡或捕获。冒泡自里向外执行,捕获自外向内。先执行对象的事件然后执行捕获模型,再执行冒泡模型

代码编辑器多选编辑功能:先选择要编辑的文本,然后点击 ctrl+D 选择相同的文本,然后可以一起修改。 百度----取消默认事件

拖动小方块实现

拖动小方块

事件委托实现

window事件委托

利用冒泡模型和获取事件源对象,实现了用ul事件处理程序处理li的点击事件。这种方式就是事件委托。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

事件分类

鼠标事件

click、contextmenu、mouse开头的事件。

用消息属性button来区分鼠标的按键,0、1、2.

DOM3标准:click事件只监听左键,只能通过mousedown和mouseup来判断鼠标键。

解决mousedown和click的冲突

键盘事件

keydown、keyup、kepress

按住键盘时 keydown、keyup连续触发,抬起时触发keyup。

移动端 touchstart、touchmove、touchend

keydown可以响应任意键盘按键,区分不了字符的大小写、keypress响应字符类键盘按键。

keypress返回ASCII码,可转换成相应的字符。

文本类操作事件

input、change、focus、blur

窗体操作事件

scroll、load

load事件在网页全部加载完(包含需要下载的图片)才触发。用户体验不好,效率低。

练习

  • 二阶菜单栏
  • 贪吃蛇
  • 扫雷


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部