事件与event对象|来自摘录

98 阅读8分钟

各种on...事件

转自网络

事件列表
事件浏览器支持解说
一般事件onclickIE3、N2鼠标点击时触发此事件
ondblclickIE4、N4鼠标双击时触发此事件
onmousedownIE4、N4按下鼠标时触发此事件
onmouseupIE4、N4鼠标按下后松开鼠标时触发此事件
onmouseoverIE3、N2当鼠标移动到某对象范围的上方时触发此事件
onmousemoveIE4、N4鼠标移动时触发此事件
onmouseoutIE4、N3当鼠标离开某对象范围时触发此事件
onkeypressIE4、N4当键盘上的某个键被按下并且释放时触发此事件.
onkeydownIE4、N4当键盘上某个按键被按下时触发此事件
onkeyupIE4、N4当键盘上某个按键被按放开时触发此事件
页面相关事件onabortIE4、N3图片在下载时被用户中断
onbeforeunloadIE4、N当前页面的内容将要被改变时触发此事件
onerrorIE4、N3出现错误时触发此事件
onloadIE3、N2页面内容完成时触发此事件
onmoveIE、N4浏览器的窗口被移动时触发此事件
onresizeIE4、N4当浏览器的窗口大小被改变时触发此事件
onscrollIE4、N浏览器的滚动条位置发生变化时触发此事件
onstopIE5、N浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断
onunloadIE3、N2当前页面将被改变时触发此事件
表单相关事件onblurIE3、N2当前元素失去焦点时触发此事件
onchangeIE3、N2当前元素失去焦点并且元素的内容发生改变而触发此事件
onfocusIE3 、N2当某个元素获得焦点时触发此事件
onresetIE4 、N3当表单中RESET的属性被激发时触发此事件
onsubmitIE3 、N2一个表单被递交时触发此事件
滚动字幕事件onbounceIE4、N在Marquee内的内容移动至Marquee显示范围之外时触发此事件
onfinishIE4、N当Marquee元素完成需要显示的内容后触发此事件
onstartIE4、 N当Marquee元素开始显示内容时触发此事件
编辑事件onbeforecopyIE5、N当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件
onbeforecutIE5、 N当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件
onbeforeeditfocusIE5、N当前元素将要进入编辑状态
onbeforepasteIE5、 N内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件
onbeforeupdateIE5、 N当浏览者粘贴系统剪贴板中的内容时通知目标对象
oncontextmenuIE5、N当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件
oncopyIE5、N当页面当前的被选择内容被复制后触发此事件
oncutIE5、N当页面当前的被选择内容被剪切时触发此事件
ondragIE5、N当某个对象被拖动时触发此事件 [活动事件]
ondragdropIE、N4一个外部对象被鼠标拖进当前窗口或者帧
ondragendIE5、N当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了
ondragenterIE5、N当对象被鼠标拖动的对象进入其容器范围内时触发此事件
ondragleaveIE5、N当对象被鼠标拖动的对象离开其容器范围内时触发此事件
ondragoverIE5、N当某被拖动的对象在另一对象容器范围内拖动时触发此事件
ondragstartIE4、N当某对象将被拖动时触发此事件
ondropIE5、N在一个拖动过程中,释放鼠标键时触发此事件
onlosecaptureIE5、N当元素失去鼠标移动所形成的选择焦点时触发此事件
onpasteIE5、N当内容被粘贴时触发此事件
onselectIE4、N当文本内容被选择时的事件
onselectstartIE4、N当文本内容选择将开始发生时触发的事件
数据绑定onafterupdateIE4、N当数据完成由数据源到对象的传送时触发此事件
oncellchangeIE5、N当数据来源发生变化时
ondataavailableIE4、N当数据接收完成时触发事件
ondatasetchangedIE4、N数据在数据源发生变化时触发的事件
ondatasetcompleteIE4、N当来子数据源的全部有效数据读取完毕时触发此事件
onerrorupdateIE4、N当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件
onrowenterIE5、N当前数据源的数据发生变化并且有新的有效数据时触发的事件
onrowexitIE5、N当前数据源的数据将要发生变化时触发的事件
onrowsdeleteIE5、N当前数据记录将被删除时触发此事件
onrowsinsertedIE5、N当前数据源将要插入新数据记录时触发此事件
外部事件onafterprintIE5、N当文档被打印后触发此事件
onbeforeprintIE5、N当文档即将打印时触发此事件
onfilterchangeIE4、N当某个对象的滤镜效果发生变化时触发的事件
onhelpIE4、N当浏览者按下F1或者浏览器的帮助选择时触发此事件
onpropertychangeIE5、N当对象的属性之一发生变化时触发此事件
onreadystatechangeIE4、N当对象的初始化属性值发生变化时触发此事件

event 对象属性

转自网络 事件处理器将会传入SyntheticEvent的实例,一个对浏览器本地事件的跨浏览器封装。它有和浏览器本地事件有相同的属性和方法,包括stopPropagation()preventDefault(),但是没有浏览器兼容问题。
如果因为一些因素,需要底层的浏览器事件对象,只要使用nativeEvent属性就可以获取到它了。

对于 v0.14,在事件处理函数中返回 false 将不会阻止事件冒泡。取而代之的是在合适的应用场景下,手动调用e.stopPropagation()或者e.preventDefault()。

  handleChange:function(e){
      console.log(e.target.value);
  }

其中target是 事件对象e 是事件对象的属性

3.1 通用属性

  1. bubbles (boolean) 表示事件是否冒泡
  2. cancelable(boolean) 表示事件是否可以取消
  3. currentTarget(DOMEventTarget) 与Target类似,由于事件可以冒泡,所以两者表示的内容是不同的
  4. defaultPrevented(boolean) 表示事件是否禁止了默认行为
  5. eventPhase(number) 表示事件所处的阶段
  6. isTrusted(boolean) 表示事件是否可信。所谓的可信事件表示的是用户操作的事件,不可信事件就是通过JS代码来触发的事件。
  7. nativeEvent(DOMEvent)
  8. preventDefault() (void) 对应的defaultPrevented,表示的是禁止默认行为
  9. stopPropagaTion() (void) 对应的是bubbles,表示的是sh
  10. target(DOMEventTarget)
  11. timeStamp(number) 时间戳,也就是事件触发的事件
  12. type(string) 事件的类型

3.2 不同事件对象的特有属性

3.2.1 剪切事件

  1. clipboardData(DOMDataTransfer)表示拿到的数据

3.2.2 键盘事件

  1. ctrlKey(boolean) 表示是否按下ctrl键
  2. altKey(boolean) 表示是否按下alt键
  3. shiftKey(boolean) 表示是否按下shift
  4. metaKey(boolean) 表示的是win系统下的win键,mac系统下对应的command键
  5. getModifierState(key) (function) 表示是否按下辅助按键(辅助按键就是雷士ctrl、shift等辅助按键)可以传入按键编码来判断是否按下
  6. charCode(Number) 表示的是按键的字符编码,可以通过编码来判断按下的是什么键
  7. key(string) 字符串,按下的键
  8. keyCode(Number) 表示那些不是字符编码的按键
  9. which(Number) 表示经过通用化得charCode和keyCode
  10. locale(String) 表示本地化得一些字符串
  11. location(number) 表示位置
  12. repeat(boolean) 表示按键是否重复

3.2.3 焦点事件

  1. relatedTarget(DOMEventTarget) 相关焦点对象

3.2.4 鼠标事件

  1. ctrlKey(boolean)
  2. altKey(boolean)
  3. shiftKey(boolean)
  4. metaKey(boolean)
  5. getModifierState(key) (function)
  6. button(Number)
  7. buttons(Number)
  8. clientX(Number) 原点为浏览器左上角
  9. clinetY(Number) 原点为浏览器左上角
  10. pageX(Number) 原点为HTML页面的左上角
  11. pageY(Number) 原点为HTML页面的左上角
  12. screenX(Number) 原点为显示器的左上角
  13. screenY(Number) 原点为显示器的左上角
  14. relatedTarget(DOMEventTarget)

3.2.5 触摸事件

为了使触摸事件生效,在渲染所有组件之前调用 React.initializeTouchEvents(true)

  1. ctrlKey(boolean)
  2. altKey(boolean)
  3. shiftKey(boolean)
  4. metaKey(boolean)
  5. getModifierState(key)
  6. changedTouches(DOMTouchList) 判断手势操作
  7. targetTouches(DOMTouchList) 判断手势操作
  8. touches(DOMTouchList) 判断手势操作

3.2.6 UI元素事件

  1. detail(Number) 滚动的距离
  2. view(DOMAbstractView) 界面,视窗

3.2.7 鼠标滚动

  1. deltaMode(Number) 可以理解为移动的单位
  2. deltaX(Number) X轴移动的相对距离固定值
  3. deltaY(Number) Y轴移动的相对距离固定值
  4. deltaZ(Number) Z轴移动的相对距离固定值