对象事件

139 阅读2分钟

对象事件

鼠标事件

event对象

  • XY有关的都是鼠标坐标

    • 除了getBoundingClientRect() 返回元素的大小及其相对于视口的位置
    • left top一般都是元素坐标
  • clientX/clientY

    • 距离可视区域左上角
  • layerX/layerY

    • 如果目标对象是定位方式,那么值与offset值相似
    • 如果目标对象是非定位方式,取父容器的左上角位置,如果父容器未定位,继续向上取
  • offsetX/offsetY

    • 相对事件目标对象的左上角位置
  • movementX/movementY

    • 仅用于mousemove事件,这个值是鼠标移动时相对上次获取坐标的距离
  • pageX/pageY

    • 相对页面顶端左上角位置
  • screenX/screenY

    • 光标相对于该屏幕的水平位置(和页面无关)
  • x/y

    • 和clientX/clientY相同

按下键点击鼠标时,变为true

  • altKey: false
  • ctrlKey: false
  • metaKey: false
  • shiftKey: false

针对mousedown事件的属性,判断按下的键

  • button: buttons: which:
  • 左键 0 0 1
  • 中键 1 4 2
  • 右键 2 2 3

MouseEvent

  • click

    • 点击左键
  • dblclick

    • 双击左键
  • mousedown

    • 按下键
  • mouseup

    • 松开

      • 拓:mousedown,mouseup,click顺序

        • 按下键(mousedown),松开(mouseup),点击(click )
  • mousemove

    • 移动
  • mouseout

    • 滑出

      • 有冒泡功能 可以收到鼠标滑入滑出子元素的冒泡事件
  • mouseover

    • 滑过

      • 有冒泡功能 可以收到鼠标滑入滑出子元素的冒泡事件
  • mouseenter

    • 进入

      • 仅对侦听的对象起到事件接收作用
  • mouseleave

    • 离开

      • 仅对侦听的对象起到事件接收作用
  • contextmenu

    • 右键菜单

阻止默认事件

1、表单事件中的submit 和reset 使用阻止默认事件可以取消提交和重置

2、当使用contextmenu事件,取消鼠标右键菜单

3、当针对元素拖拽时,元素内有文本,文本会被选中

4、图片拖拽时产生禁止拖拽图标

this

指向

  • 函数中

    • this ==window
  • 对象自身

    • var obj={ console.log(this)}
  • 在事件函数中等于事件侦听的对象

    • document.addEventListener(“click”,clickHandler);function clickHandlere(){ console.log(this); }

    • 注:

      • 1、事件函数中的this会覆盖普通对象中函数this的指向
      • 2、事件函数中,针对e.type事件类型所有对应的事件侦听对象才是this

焦距事件

blur

  • 失去焦距

focus

  • 汇聚焦距

e.relatedTarget

  • 上次汇聚焦距的元素

汇聚焦距的方式有,点击,tab切换

所有表单元素(例:文本框),超链接

input事件

input

  • e.data: "o" 输入的内容

  • e.inputType: "insertText" 输入的类型 insertCompositionText

    • 包括插入文本,删除文本,插入输入法文本,剪切粘贴文本等等
  • e.isComposing: true 是否是输入法文本

XMind: ZEN - Trial Version