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

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

概述

JavaScript与HTML之间的交互通过事件实现。事件,就是文档或者浏览器窗口中发生的一些特定的交互瞬间.

事件流

当单击页面上的按钮时,你也单击了按钮的容器元素,甚至也单击了整个页面,那这几个元素的接收到事件的顺序是如何呢?

事件流就是指从页面中接收事件的顺序。事件流有以下两种:

事件冒泡

事件开始时从最具体的元素接收,然后逐级向上传播,也就是说如果点击一个元素,该元素的点击事件先发生再传播至上一级

事件捕获

事件从最不具体的元素开始,到你真正接收事件的节点逐级向下传播,也就是说点击一个元素,若document有点击事件,则先发生document事件,再发生至你点击的元素

DOM事件流

‘DOM2级事件’规定的事件流包括三个阶段:事件捕获、处于目标阶段和事件冒泡阶段。

先后顺序:
事件捕获,为截获事件提供机会-->实际的目标接收到事件-->事件冒泡,在这个阶段对事件做出响应。

事件处理程序

事件是用户或者浏览器自身执行的某种动作,那么事件处理程序就是响应某个事件的处理函数,事件处理程序的名字以‘on’开头

HTML事件处理程序

<input type="button" value="点击我" onclick="alert('我被点击了')">

DOM0级事件处理程序

var btn = document.querySelector('#clickMe')btn.onclick = function() {    alert('我被点击了')}

DOM2级事件处理程序

btn.addEventListener('click', function() {    alert('我被点击了')}, true)

DOM2级事件定义了两个方法,用于处理指定和删除事件处理程序的操作:addEventListerner和removeEventListener,它们接收三个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。

最后这个布尔值参数如果是true,表示再捕获阶段就调用事件处理程序;如果是false,则是再冒泡阶段调用事件处理程序
好处:可以添加多个事件处理程序

转载地址:http://ueuba.baihongyu.com/

你可能感兴趣的文章
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
深入python的set和dict
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
centos 下安装g++
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
centos64i386下apache 403没有权限访问。
查看>>
jquery用法大全
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>