事件总结

作者: YM雨蒙 | 来源:发表于2017-09-15 15:55 被阅读38次

DOM事件主要内容

  • 事件流
  • 事件注册
  • 事件对象
  • 事件分类
  • 事件代理

什么是DOM事件?

  • 事件是某个行为或者触发,比如点击、鼠标移动
  • 当用户点击鼠标时
  • 当网页已加载时
  • 当图像已加载时
  • 当鼠标移动到元素上时
  • 当用户触发按键时...

事件流

兼容性

事件对象(共有的)

当事件被触发的时候,会调用事件处理函数,在调用时间处理函数中,有一些信息,这些信息代表着事件的状态,这个就是事件对象

click为例

  • 属性
    • type类型:例如点击什么的...
    • target(srcElement IE低版本)目标元素,点击哪个就是那个
    • currentTarget:事件处理程序当前处理元素
  • 方法
    • stopPropagation()取消事件进一步捕获或冒泡
    • preventDefault()取消事件默认行为

阻止事件传播(冒泡)

  • event.stopPropagation()W3C
  • event.cancelBubble=trueIE

默认行为

  • event.preventDefault()W3C
  • event.returnValue = false IE

事件分类

事件种类

MouseEvent

事件类型 是否冒泡 元素 默认事件 元素例子
click(点击) Yes element focus/activation div
dbclick(双击) Yes element focus/activation div
mousedown Yes element drag/scroll text selection div
mousemove Yes element None div
mouseout鼠标离开 Yes element None div
mouseover鼠标移上去,进入子元素也会触发 Yes element None div
mouseup Yes element context menu div
mouseenter鼠标移上去 No element None div
mouseleave鼠标离开 No element None div

MouseEvent对象

  • 属性
    • clientX, clientY位置
    • screenX, screenY
    • ctrlKey,shiftKey,altKey,metaKey
    • button(0,1,2)鼠标左键还是右键还是滚轮

MouseEvent事件顺序

顺序

WheelEvent滚轮事件

事件类型 是否冒泡 元素 默认事件 元素例子
wheel Yes element scroll or zoom document div

FocusEvent 元素获得焦点和失去焦点

事件类型 是否冒泡 元素 默认事件 元素例子
blur(失去焦点) No Window,element None window,input
focus(获得焦点) No Window,element None window,input
focusin(即将获得焦点) No Window,element None window,input
focunsout(即将失去焦点) No Window,element None window,input
  • 属性
    • relatedTarget当一个元素失去焦点,另一个元素就会获得焦点
事件类型 是否冒泡 元素 默认事件 元素例子
beforeinput Yes Element Update DOM Element input
input Yes element None input

InputEvent 输入事件(W3C)

事件类型 是否冒泡 元素 默认事件 元素例子
beforeinput Yes Element Update DOM Element input
input Yes element None input
  • onpropertychange(ie)

KeyboardEvent键盘事件

事件类型 是否冒泡 元素 默认事件 元素例子
keydown Yes Element input bulr/focus input
keyup按下去松开触发 Yes element None input
  • 属性
    • key按下什么键,值是字符串
    • code
    • ctrlKey,shiftKey,altKey,metaKey
    • repeat持续按一个键

Event

事件类型 是否冒泡 元素 默认事件 元素例子
load(事件加载) NO Window,document,element None window,image,iframe
unload(类似页面退出) No Window,document,element None window
error(加载错误) NO Window,element None window,image
select(input被选择..) NO element None input,textarea
abort(esc) NO window,element None window,image
window对象 Image
load load
unload error
error abort
abort
<image alt = "photo" src = "www.baidu.com" onerror = "this.src = 'www.wangyi.com'"/>

UIEvent

事件类型 是否冒泡 元素 默认事件 元素例子
resize(窗体大小) NO Window,element None window,iframe
scroll(页面滚从) NO/Yes Document,element None document,div

事件代理

参考我写的另一片文章 从onClick谈事件代理和了解事件传播机制

总结一下不能冒泡的事件:

  • mouseenter
  • mouseleave
  • blur
  • focus
  • focusin
  • focusout
  • load
  • unload
  • error
  • select
  • abort
  • resize

相关文章

  • js中的事件

    简单总结一下js中的事件 事件处理程序 事件委托 各种各样的事件总结 事件中的this指向 事件处理程序 直接在D...

  • 事件代理及常用的 HTML 事件

    之前总结了事件捕获和冒泡以及阻止事件传播,今天写一下事件代理方面的总结DOM 事件之捕获、冒泡:阻止事件传播: 事...

  • 事件总结

    DOM事件主要内容 事件流 事件注册 事件对象 事件分类 事件代理 什么是DOM事件? 事件是某个行为或者触发,比...

  • 事件总结

    什么是事件? JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定...

  • 事件总结

    事件 1、鼠标事件(1)redDiv . onclick = fubction( ){ }; 点击事件(2)re...

  • 事件总结。

    学习一上午高数的感觉就是欲哭无泪,求死不能。终于迎来了午休时间。两个室友,姑且说成A和B,两人平时就形影不离,中午...

  • 事件总结

    昨天峰帅老师作业点评直播,我为啥不像师父一样转发到我的那个三天朋友圈文案群呢? 这个课价值这么高,而且还是免费的

  • 七、事件分发

    1.事件分发的总结 事件分发顺序:Activity(Window) -> ViewGroup -> View 事件...

  • target、currentTarget、srcElement

    简单总结如下: target触发事件的元素 currentTarget绑定事件的元素 srcElement触发事件...

  • 事件 ------ 2020-08-15

    1、事件的定义: 2、元素天生自带的事件总结: (1)鼠标事件: (2)键盘事件: (3)表单常用事件: (4)其...

网友评论

    本文标题:事件总结

    本文链接:https://www.haomeiwen.com/subject/adatsxtx.html