首页 > Web开发 > 详细

JS-事件

时间:2020-03-02 10:13:42      阅读:62      评论:0      收藏:0      [点我收藏+]

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窗体对象
    }
}

 

 

JS-事件

原文:https://www.cnblogs.com/-Archenemy-/p/12393338.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!