iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >javascript DOM事件是什么
  • 661
分享到

javascript DOM事件是什么

2024-04-02 19:04:59 661人浏览 独家记忆
摘要

这篇文章主要讲解了“javascript DOM事件是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript DOM事件是什么”吧!DOM级

这篇文章主要讲解了“javascript DOM事件是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript DOM事件是什么”吧!

DOM级别与DOM事件

DOM级别一共可以分为4个级别:DOM0级,DOM1级,DOM2级和  DOM3级,而DOM事件分为3个级别:DOM0级事件处理,DOM2级事件处理和DOM3级事件处理。如下图所示:

javascript DOM事件是什么

有人可能会问,为什么没有DOM1级事件处理呢?因为1级DOM标准中并没有定义事件相关的内容,所以没有所谓的1级DOM事件模型。

关于DOM级别这里不做详细的介绍,下面主要介绍下不同级别DOM中的不同事件。

1.DOM0级事件

在了解DOM0级事件之前,我们有必要先了解下html事件处理程序,也是最早的这一种的事件处理方式,代码如下:

<button type="button" onclick="showFn()"></button>  <script>  function showFn() {  alert('Hello World');  }  </script>

以上代码我们通过直接在HTML代码里定义了一个onclick的属性触发showFn方法,这样的事件处理程序***的缺点就是HTML于js强耦合,我们一旦需要修改函数名就得修改两个地方。当然其优点是不需要操作DOM来完成事件的绑定。

那么什么是DOM0级处理事件呢?DOM0级事件就是将一个函数赋值给一个事件处理属性,比如:

<button id="btn" type="button"></button>  <script>  var btn = document.getElementById('btn');  btn.onclick = function() {  alert('Hello World');  }  // btn.onclick = null; 解绑事件  </script>

以上代码我们给button定义了一个id,通过JS获取到了这个id的按钮,并将一个函数赋值给了一个事件处理属性onclick,这样的方法便是DOM0级处理事件的体现。我们可以通过给事件处理属性赋值null来解绑事件。

DOM0级事件处理程序的缺点在于一个处理程序无法同时绑定多个处理函数,比如我还想在按钮点击事件上加上另外一个函数。

2.DOM2级事件

DOM2级事件在DOM0级事件的基础上弥补了一个处理程序无法同时绑定多个处理函数的缺点,允许给一个处理程序添加多个处理函数。代码如下:

<button id="btn" type="button"></button>  <script>  var btn = document.getElementById('btn');  function showFn() {  alert('Hello World');  }  btn.addEventListener('click', showFn, false);  // btn.removeEventListener('click', showFn, false); 解绑事件  </script>

DOM2级事件定义了addEventListener和removeEventListener两个方法,分别用来绑定和解绑事件,方法中包含3个参数,分别是绑定的事件处理属性名称(不包含on)、处理函数和是否在捕获时执行事件处理函数。如果我们还需要添加一个鼠标移入的方法,只需要:

btn.addEventListener('mouseover', showFn, false);

这样点击按钮和鼠标移入时都将触发showFn方法。

需要注意的是IE8级以下版本不支持addEventListener和removeEventListener,需要用attachEvent和detachEvent来实现:

btn.attachEvent('onclick', showFn); // 绑定事件  btn.detachEvent('onclick', showFn); // 解绑事件

这里我们不需要传入第三个参数,因为IE8级以下版本只支持冒泡型事件。

3.DOM3级事件

DOM3级事件在DOM2级事件的基础上添加了更多的事件类型,全部类型如下:

  1. UI事件,当用户与页面上的元素交互时触发,如:load、scroll

  2. 焦点事件,当元素获得或失去焦点时触发,如:blur、focus

  3. 鼠标事件,当用户通过鼠标在页面执行操作时触发如:dbclick、mouseup

  4. 滚轮事件,当使用鼠标滚轮或类似设备时触发,如:mousewheel

  5. 文本事件,当在文档中输入文本时触发,如:textInput

  6. 键盘事件,当用户通过键盘在页面上执行操作时触发,如:keydown、keypress

  7. 合成事件,当为IME(输入法编辑器)输入字符时触发,如:compositionstart

  8. 变动事件,当底层DOM结构发生变化时触发,如:DOMsubtreeModified

同时DOM3级事件也允许使用者自定义一些事件。

DOM事件流

上文中讲到了addEventListener的第三个参数为指定事件是否在捕获或冒泡阶段执行,设置为true表示事件在捕获阶段执行,设置为true表示事件在捕获阶段执行,而设置为false表示事件在冒泡阶段执行。那么什么是事件冒泡和事件捕获呢?可以用下图来解释:

javascript DOM事件是什么

1.事件冒泡

所谓事件冒泡就是事件像泡泡一样从最开始生成的地方一层一层往上冒,比如上图中a标签为事件目标,点击a标签后同时也会触发p、li上的点击事件,一层一层向上直至最外层的html或document。下面是代码示例:

<div id="box">  <a id="child">事件冒泡</a>  </div>  <script>  var box = document.getElementById('box'),  child = document.getElementById('child');  child.addEventListener('click', function() {  alert('我是目标事件');  }, false);  box.addEventListener('click', function() {  alert('事件冒泡至DIV');  }, false);  </script>

上面的代码运行后我们点击a标签,首先会弹出'我是目标事件'提示,然后又会弹出'事件冒泡至DIV'的提示,这便说明了事件自内而外向上冒泡了。

那么我们如何阻止事件冒泡呢?这里就涉及事件的Event对象中的stopPropagation方法,如下:

child.addEventListener('click', function(e) {  alert('我是目标事件');  e.stopPropagation();  }, false);

加上stopPropagation方法后,我们再次点击a标签就不会触发div上的click事件了。

2.事件捕获

和事件冒泡相反,事件捕获是自上而下执行,我们只需要将addEventListener的第三个参数改为true就行。

<div id="box">  <a id="child">事件冒泡</a>  </div>  <script>  var box = document.getElementById('box'),  child = document.getElementById('child');  child.addEventListener('click', function() {  alert('我是目标事件');  }, true);  box.addEventListener('click', function() {  alert('事件冒泡至DIV');  }, true);  </script>

此时我们点击a标签,首先弹出的是'事件冒泡至DIV',其次弹出的是'我是目标事件',正好与事件冒泡相反。

感谢各位的阅读,以上就是“javascript DOM事件是什么”的内容了,经过本文的学习后,相信大家对javascript DOM事件是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: javascript DOM事件是什么

本文链接: https://www.lsjlt.com/news/86279.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript DOM事件是什么
    这篇文章主要讲解了“javascript DOM事件是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript DOM事件是什么”吧!DOM级...
    99+
    2024-04-02
  • DOM事件中Event对象是什么
    这篇文章主要介绍“DOM事件中Event对象是什么”,在日常操作中,相信很多人在DOM事件中Event对象是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DOM事件中Ev...
    99+
    2024-04-02
  • javascript之什么是dom
    这篇文章主要介绍“javascript之什么是dom”,在日常操作中,相信很多人在javascript之什么是dom问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javasc...
    99+
    2024-04-02
  • JavaScript的DOM事件详解
    目录1、事件对象2、事件流3、事件委托4、综合案例总结1、事件对象 【获取事件对象】 什么是事件对象:是个对象,这个对象里有事件触发时的相关信息。事件对象的语法 元素.addEven...
    99+
    2024-04-02
  • javascript事件是什么
    这篇文章将为大家详细讲解有关javascript事件是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为J...
    99+
    2023-06-15
  • javascript的dom事件有哪些
    javascript中的dom事件有:1.onload,进入页面;2.onunload,退出页面;3.oncontextmenu,单击鼠标右键;4.onsubmit,表单提交;javascript中的dom事件有以下几种onloadjava...
    99+
    2024-04-02
  • JavaScript中dom是指什么
    本篇内容主要讲解“JavaScript中dom是指什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中dom是指什么”吧! ...
    99+
    2024-04-02
  • javascript中有哪些dom事件
    这篇文章主要介绍“javascript中有哪些dom事件”,在日常操作中,相信很多人在javascript中有哪些dom事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ja...
    99+
    2024-04-02
  • javaScript事件源是什么
    今天就跟大家聊聊有关javaScript事件源是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在事件中,当前操作的那个元素就是事件源,比如网页元素中input有onclick事件...
    99+
    2023-06-15
  • javascript中什么是事件
    这篇文章主要讲解了“javascript中什么是事件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中什么是事件”吧! ...
    99+
    2024-04-02
  • JavaScript中BOM,DOM和事件怎么使用
    这篇文章主要介绍“JavaScript中BOM,DOM和事件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中BOM,DOM和事件怎么使用”文章能帮助大家解决问题。BOM概...
    99+
    2023-07-02
  • JavaScript中怎么利用DOM添加事件
    这期内容当中小编将会给大家带来有关JavaScript中怎么利用DOM添加事件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JavaScript DOM添加事件这是我在给...
    99+
    2024-04-02
  • 什么是JavaScript事件处理
    这篇文章主要介绍“什么是JavaScript事件处理”,在日常操作中,相信很多人在什么是JavaScript事件处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Jav...
    99+
    2024-04-02
  • JavaScript事件是什么意思
    这篇文章主要介绍JavaScript事件是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! JavaScript事件是指在文档或者浏览器中发生的一些...
    99+
    2024-04-02
  • JavaScript五大事件是什么
    这篇文章主要讲解了“JavaScript五大事件是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript五大事件是什么”吧!页面事件思考:H...
    99+
    2024-04-02
  • 什么是JavaScript时间事件
    本篇内容主要讲解“什么是JavaScript时间事件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是JavaScript时间事件”吧!一、前言setTime...
    99+
    2024-04-02
  • JavaScript的事件流是什么
    这篇文章将为大家详细讲解有关JavaScript的事件流是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.什么是事件流 ?在学习事件流之前我们先看看什么是事件 ?事件代表文档或浏览器窗口中某个有意义...
    99+
    2023-06-28
  • 什么是javascript事件委托
    本篇文章为大家展示了什么是javascript事件委托,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在javascript中,事件委托就是利用冒泡的原理,将事件加到父元素或祖先元素上,触发执行效果。...
    99+
    2023-06-14
  • javascript中dom指的是什么
    这篇文章将为大家详细讲解有关javascript中dom指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出响应...
    99+
    2023-06-14
  • JavaScript DOM常用事件实例分析
    本篇内容介绍了“JavaScript DOM常用事件实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作