• JS-事件


    JS-事件

    基础

    什么是事件:

    控件可以识别的行为l,例如:点击、双击、鼠标移动

    事件分类

    窗体事件鼠标事件键盘事件表单事件
    窗体加载 点击事件 键盘按下 获得焦点
    窗体卸载 双击事件 键盘释放 失去焦点
    窗体获得焦点 鼠标进入 等等 文本发生变化事件
    窗体失去焦点 鼠标离开   提交时间
    等等 鼠标按下   重置事件
      鼠标松开   等等
      鼠标移动    
      等等    

    DOM事件流

    HTML元素产生事件时,事件会在当前节点与根节点之间的路径传播,路径上节点的事件都会被触发,节点之间存在包含关系。

    DOM事件流分类:

    1. 冒泡事件流

      事件从最精确的到最不精确的

    2. 捕获事件流

      事件从最不精确的到最精确的

    IE只支持冒泡 ,火狐、谷歌、Safari两种事件流都支持。但是一般都使用冒泡事件流。

    事件处理程序

    网页元素发生事件时,需要处理的程序称为事件处理程序,俗称为元素绑定事件,

    所有的事件都是绑定在网页元素上的

    事件绑定方式

    1. 直接绑定在HTML上

      通过事件属性( on事件名称) 进行绑定(不太推荐的)

      有时我们会书写一个函数(事件处理程序),然后通过事件属性来给元素绑定函数

    2. 传统方式绑定方法

      缺点: 不方便为一个事件添加多个事件处理程序。

    3. 现代事件绑定方式

      有兼容性问题 (推荐采用 有名字的函数(*))

      ie : 添加事件处理程序 元素节点.attachEvent(type,listener) 注销事件处理程序 元素节点.detachEvent(type,listener)

      非ie: 添加事件处理程序 : 元素节点.addEventListener(event, function, useCapture) 注销事件处理程序 : 元素节点.removeEventListener(event, function, useCapture)

    其他

    //获取当前点击对象的属性
    let divList = document.querySelectorAll("div");
    for (let divObj of divList) {
        divObj.onclick = function () {
            console.log(this.innerHTML);
            //this指代当前对象
            //HTML文档中有多个div对象获取时,谁触发onclick事件(谁被点击).this指代谁
            //需要注意在这里不能使用箭头函数,使用箭头函数 this指代window窗体对象
        }
    }

     

  • 相关阅读:
    浅尝辄止——在C++中调用C#的回调函数——COM方式
    代码管理——如何连接Git Server,下载代码
    浅尝辄止——使用ActiveX装载WPF控件
    软件调试——CPU异常列表
    软件调试——IA-32 保护模式下寄存器一览
    Delphi面向对象编程
    看雪2017CTF第二题解法
    串操作指令
    MASM 重复汇编
    MASM 宏结构
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12393338.html
Copyright © 2020-2023  润新知