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

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

JavaScript事件

事件基础

1.绑定事件

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

<button onclick="code...">

  • 2.把事件当做dom对象的方法

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

      //获取button元素  var btn = document.getElementById("btn");  //给btn元素绑定事件  btn.onclick = function(){      document.body.style.backgroundColor = "rgb("+Math.floor(Math.random() * 256)+","+Math.floor(Math.random() * 256)+","+Math.floor(Math.random() * 256)+")";  }
  • 3.事件监听方式
  • addEventListener(eventName,fn,true/false)
  • attachEvent(eventName,fn)

         //获取 btn1 对象     var btn1 = document.getElementById("btn1");     //给btn1绑定事件     btn1.addEventListener("click", function(){         document.body.style.color = "rgb("+Math.floor(Math.random() * 256)+","+Math.floor(Math.random() * 256)+","+Math.floor(Math.random() * 256)+")";     });

事件监听的正规写法

事件监听


2.解除事件的绑定

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

重新绑定一个空的function,覆盖前面

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

    //获取按钮bth2         var btn2=document.getElementById('btn2');         //给btn btn0 btn1取消绑定         btn2.onclick=function(){     btn.onclick=function(){     };     document.getElementById('btn0').onclick=function(){     };     btn1.removeEventListener("click",randomColor)            }

3.this的用法

  • 循环给一组元素绑定事件的时候
  • 事件作为html元素属性的时候函数调用,传this表示该元素

              
    同时给多个元素绑定相同的事件
    • 哈哈哈
    • 嘿嘿嘿
    • 嘻嘻嘻
    • 呵呵呵
    • 咦咦咦

    事件类型

    1.鼠标事件

  • click 单击

  • dblclick 双击
  • contextmenu 右击
  • mouseover 鼠标放上
  • mouseout 离开
  • mousedown 按下
  • mouseup 抬起
  • mousemove 鼠标移动

    2.键盘事件

  • keydown 键盘按键按下
  • keyup 抬起
  • keypress 键盘按键按下,并不是所有的按键都可以触发(只有可以输入字符的按键)

    3.文档事件

  • load 加载完成
  • unload 关闭
  • beforeunload 文档关闭

    4.表单事件

  • submit 提交事件
  • reset 表单重置
  • blur 失去焦点
  • focus 获得焦点
  • change 改变
  • select input或textarea内容被选中的时候触发

    5.图片事件

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

    6.其他事件

  • scroll 滚动事件
  • resize 绑定给window,窗口尺寸发生变化

Event对象

Event种类

  • mouseEvent
  • keyboardEvent
  • focusEvent

属性

  • clientX
  • clientY
  • keyCode
  • target 具体触发事件的元素

event.target的应用

    
event.target的应用
  • 小丽丽
  • 小丽丽
  • 小丽丽
  • 小丽丽
  • 小丽丽
  • 小丽丽

方法

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

事件的冒泡和捕获

  • 捕获阶段先找大的后找小的
  • 冒泡从小到大(冒泡阶段触发)
  • 先捕获后冒泡

转载于:https://www.cnblogs.com/DCL1314/p/7459889.html

你可能感兴趣的文章
绝对路径与相对路径
查看>>
Java加密与解密笔记(三) 非对称加密
查看>>
JS学习笔记 - fgm练习 - 数字自增 定时器 数字比大小Math.max
查看>>
NSNotification学习笔记
查看>>
asp.net asp:Repeater嵌套绑定方法(2)
查看>>
微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse)
查看>>
动态规划 Common Subsequence
查看>>
GitHub 开启 Two-factor authentication,如何在命令行下更新和上传代码
查看>>
C#中的线程一(委托中的异步)
查看>>
[HDOJ6154] CaoHaha's staff(规律, 打表, 二分)
查看>>
可行性研究课后习题4、5
查看>>
纯css3实现文字间歇滚动效果
查看>>
ajax传数组到后台,后台springmvc接收数组参数
查看>>
基于axis的WebService的案例
查看>>
mysql 日期比较
查看>>
JetBrains
查看>>
Realtek无线网卡对于Ubuntu的WiFi不支持的处理办法
查看>>
求最大公约数——欧几里得算法
查看>>
项目经理的看家本领
查看>>
蓝牙在小程序中的应用
查看>>