博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript-10(JavaScript事件)
阅读量:5300 次
发布时间:2019-06-14

本文共 1925 字,大约阅读时间需要 6 分钟。

一、事件基础

1.绑定事件

  • 把事件当做HTML元素的属性

    <button onclick="code...">
  • 把事件当做dom对象的方法

    dom.onclick = function(){code....}

  • 事件监听方式
    • addEventListener(eventName, fn, true/false)
    • attachEvent(eventName, fn)(IE8-)

2. 解除事件的绑定

  • 绑定方式: 把事件当做html元素属性 / 把事件当做dom对象的方法

    重新绑定一个空的function,覆盖前面dom.onclick = function(){}

  • 绑定方式 是 事件监听方式
    • removeEventListener(event, fn)
    • detachEvent(event, fn)

3.this的用法

  • 循环给一组元素绑定事件的时候
  • 事件作为html元素属性的时候,函数调用,传this表示 该元素
  • 在元素内部 通过属性形式 <button onclick="fn(this)"> 此时this表示所在的元素

      
    • 哈哈哈
    • 嘿嘿嘿
    • 嘻嘻嘻
    • 呵呵呵
    • 呀呀呀

二、事件类型

1.鼠标事件

  • click 单击
  • dblclick 双击
  • contextmenu 右击
  • mouseover 鼠标进入元素
  • mouseout 鼠标离开元素
  • mousedown 鼠标按键按下
  • mouseup 鼠标按键抬起
  • mousemove 鼠标移动

2.键盘事件

  • keydown 键盘按键按下
  • keyup 键盘按键抬起
  • keypress 键盘按键 按下 (只有字符按键) (控制按键不可以 Ctrl shift 上下左右都不行)

3.文档事件

  • load 加载完成(绑定给window、img、document.body)
  • unload 文档关闭
  • beforeunload 文档关闭 (兼容性好)

4.表单事件

  • submit 表单提交的时候, 绑定给form元素
  • reset 表单重置, 绑定给form元素
  • blur 失去焦点(绑定给输入框)
  • focus 获得焦点(绑定给输入框)
  • change 表单控制的内容改变(通常绑定给select radio checkbox)
    • 如果绑定给input 必须同时满足两个条件
    • 内容改变和失去焦点 才能触发
  • select 可输入的元素绑定input 或 textarea 内容被选中的时候触发

5.图片事件

  • abort 图片加载中断
  • load 图片加载完成
  • error 图片加载错误

6.其他事件

  • scroll 元素内部的内容滚动 (适合于有滚动条的元素)
  • resize 绑定给window, 窗口尺寸发生变化

三、Event 对象

1.Event种类

  • mouseEvent
  • keyboardEvent
  • focusEvent

2.属性

  • clientX 鼠标的x坐标
  • clientY 鼠标的Y坐标
  • keyCode 键盘按键的值
  • button 鼠标按键的标示
    • 0 按了左键
    • 1 按了滚轮
    • 2 按了右键
  • cancelBubble 阻止事件冒泡 设置为true
  • target 返回触发此事件的元素(具体触发事件的元素)

  • type 返回事件类型(mouse keyborad... )
  • timeStamp 返回触发事件的那一刻的时间戳(从页面打开的那一刻开始
  • altKey 返回当事件被触发时,"ALT" 是否被按下。
  • ctrlKey 返回当事件被触发时,"CTRL" 键是否被按下。
  • shiftKey 返回当事件被触发时,"SHIFT" 键是否被按下。

3.方法

  • stopPropagation() 阻止冒泡
  • preventDefault() 阻止默认动作

4.事件的冒泡和捕获

事件的冒泡和捕获

四、Element(所有的元素都具有的属性)

  • offsetLeft
  • offsetTop
  • scrollLeft 内容向左滚动的距离(也可以为滚动条滚动的距离)
  • scrollTop 内容向上滚动的距离(也可以为滚动条滚动的距离)
  • getBoundingClientRect() 元素到视窗口的距离( box.getBoundingClientRect().left/top

转载于:https://www.cnblogs.com/1666818961-lxj/p/7463673.html

你可能感兴趣的文章
Event Store框架探究
查看>>
部分STL_hanhan~
查看>>
16进制的简单运算(不同进制的计算,输入,输出)
查看>>
vue.js安装
查看>>
CUDA并行计算 | 线程模型与内存模型
查看>>
android JNI库实现reboot,recovery
查看>>
HashMap的存储结构及原理
查看>>
在线即时展现 Html、JS、CSS 编辑工具 - JSFiddle
查看>>
veridata实验例(3)验证veridata发现insert操作不会导致同步
查看>>
ExecuteScalar
查看>>
元 变化
查看>>
转_socket函数
查看>>
浅谈数论
查看>>
Android圆角矩形创建工具RoundRect类
查看>>
ssh使用指南
查看>>
分成互质组
查看>>
django数据库交互
查看>>
【转载】SQL注入攻防入门详解
查看>>
图说二叉树添加数据原理以及遍历原理
查看>>
NTC(负温度)热敏电阻.阻值的计算方式
查看>>