zoukankan      html  css  js  c++  java
  • 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窗体对象
        }
    }

     

  • 相关阅读:
    SVM
    决策树
    神经网络
    机器学习之降维方法
    机器学习之特征选择
    浏览器状态码大全
    哈希表
    社区发现算法总结(二)
    社区发现算法总结(一)
    聚类篇-------度量
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12393338.html
Copyright © 2011-2022 走看看