js事件以及事件处理函数

事件以及事件处理函数

  • 事件定义:事件是由访问WEB页面的用户引起的一系列操作

  • 事件绑定方式
    JS有两种事件模型:内联模型和脚本模型

    • 事件处理函数:dom.on事件名 = function(){}
  • 事件分类:

    1. 鼠标事件

      • 鼠标点击事件
        • .onclick 单击
        • .ondbclick 双击
      • 鼠标移动
        • .omousedown 按下时触发
        • .onmouseup 松开时触发
        • .onmouseover 移入时触发
        • .onmousemove 移动时触发.onmousemove 移动时触发
        • .onmouseout 当鼠标移出某个元素上方时触发
        • .event.button 鼠标点击左键或右键时触发
    2. 键盘

      • .onselect 用户选择文本框(input 或 textarea)中的字符时触发
      • .oninput 文本框内容发生改变时触发
      • .onchange 当文本框内容改变并失去焦点时触发
      • .onfocus 获取焦点时触发
      • .onblur 失去焦点时触发
      • .onsubmit 点击提交按钮时在form上触发
      • .onreset 点击重置按钮在form上触发
      • .onscroll 当滚动条位置发生改变时触发
        HTML .onload 页面加载完毕后触发
  • 事件对象

    • 定义:当触发某个事件时,会产生一个事件对象,这个对象包含着所有与事件有关的信息
    • 兼容写法:e || window.event
  • 事件流:
    1. 冒泡——由内向外 阻止冒泡 兼容 支持标准浏览器 evt . stopPropagation (不支持IE浏览器),支持IE低版本 evt. canceBlubble = true
    2. 捕获——由外向内

  • 事件委托

    • 利用冒泡事件的原理 为新增的对象添加事件
    • 实现步骤:
      1. 找到当前节点的父节点
      2. 将事件添加到父节点
      3. 找到事件对象,判断触发节点是否是需要的,然后继续操作
window.onload=function(){var   oUl= document.getElementById("oUl");
​    oUl.onclick=function(e){var  evt = e || window.event;var  target=evt.target || window.event.srcElement
​    if(target .nodeName.toLowerCase()=="li"){
​    target.style.backgroundColor = "red"} }
}
  • 事件监听
    1. addEventListener()
      • 格式:node.addEventListener( "click" , function(){},布尔值)
      • 参数:
        • 第一个参数 事件类型
        • 第二个参数 绑定的函数
        • 第三个参数 布尔值 true 事件捕获false 事件冒泡 默认解决了事件重复添加会覆盖的问题
    2. removeEvent()
  • 事件默认行为
    1. 阻止事件默认行为return false
    2. evt . preventDefault()
    3. evt.returnfalse=true
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不听念经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值