JS中dom0级事件和dom2级事件的区别介绍

JS中事件分为DOM0级事件和DOM2级事件。

DOM0 级事件:是将一个函数赋值给一个事件处理程序属性,如下所示:

document.getElementById("button").onclick = function(){
   alert("Hello World!");
}

DOM2级事件:定义了两个方法 用于指定和删除事件处理程序的操作:addEventListener() 和 removeEventListener()。通过先调用 addEventListener() 方法然后在以后调用 removeEventListener()方法,来添加和删除事件处理程序,如下所示:

document.getElementById("button").addEventListener("click", function(){
   alert("Hello World!");
});

DOM2级事件除了可以在冒泡阶段处理事件之外,还可以指定事件处理程序的执行顺序、针对同一个元素绑定多个事件、移除事件处理程序等。

下面举两个示例说明:

  1. 示例一
//DOM0级事件
var btn1 = document.getElementById("button1");
btn1.onclick = function(){
    console.log("DOM0级事件");
}

//DOM2级事件
var btn2 = document.getElementById("button2");
btn2.addEventListener("click", function(){
    console.log("DOM2级事件");
},false);
  1. 示例二
//DOM0级事件
var btn1 = document.getElementById("button1");
btn1.onclick = function(){
    console.log("DOM0级事件");
}

//DOM2级事件
var btn2 = document.getElementById("button2");
btn2.addEventListener("click", function(){
    console.log("DOM2级事件");
},true);

这两个示例中,分别演示了DOM0级事件和DOM2级事件的使用。第一个示例中,我们分别使用了DOM0级事件和DOM2级事件来添加事件处理函数,在点击按钮后,分别输出“DOM0级事件”和“DOM2级事件”。

第二个示例中,我们在DOM2级事件中指定了事件处理程序在捕获阶段执行而不是在冒泡阶段执行,这里设置为 true。在这个示例中,我们点击按钮后,只输出了“DOM2级事件”,并没有输出“DOM0级事件”。这表明DOM0级事件只支持在冒泡阶段执行,而DOM2级事件可以在捕获阶段和冒泡阶段执行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS中dom0级事件和dom2级事件的区别介绍 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 微信小程序页面间跳转传参方式总结

    下面是关于“微信小程序页面间跳转传参方式总结”的完整攻略。 前言 在微信小程序的开发中,我们经常需要在不同页面之间进行跳转,并且需要在页面之间传递参数。本文将总结出在微信小程序中实现页面之间传参的多种方式,并详细讲解其使用方法和注意事项。 方式一:通过 URL 参数传递数据 通过 URL 参数传递数据是最简单的一种传参方式。我们可以通过 wx.navigat…

    JavaScript 2023年6月11日
    00
  • JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍

    JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍 1. 方法 在 JavaScript 中,我们可以使用 requestFullscreen 方法将网页全屏。该方法是在 document 对象上定义的,通过该方法可以完全控制浏览器的全屏模式。 document.documentElement.requestFullscreen() 类似的还有…

    JavaScript 2023年6月11日
    00
  • Javascript load Page,load css,load js实现代码

    实现 Javascript 来控制页面的加载过程,包括页面主体内容的加载、CSS 文件的加载和 JavaScript 文件的加载。在加载过程中,我们需要保证页面的正确显示和交互功能。 控制页面加载 了解 JavaScript 来控制页面的加载过程,需要关注以下三个关键点: 等待页面主体内容加载 加载 CSS 和 JavaScript 文件 等待 JavaSc…

    JavaScript 2023年5月27日
    00
  • 正则表达式搭配js轻松处理json文本方便而老古

    正则表达式搭配JS轻松处理JSON文本方便而老古 什么是正则表达式? 正则表达式是一种用于描述字符串模式的语法,通过使用简洁而强大的语法规则,可以在文本匹配、搜索、替换、验证等方面提供非常高效和灵活的处理方式。 如何在JavaScript中使用正则表达式处理JSON文本? JSON(JavaScript Object Notation)是一种轻量级的数据交换…

    JavaScript 2023年5月27日
    00
  • 改版了网上的一个js操作userdata

    改版了网上的一个js操作userdata,意味着我们要掌握如何在 JavaScript 中使用 localStorage API 操作本地存储空间。下面将从以下四个方面讲解完整攻略: localStorage 的概念和用法 基础操作:setItem 和 getItem 复杂数据结构的存储和读取 注意事项 1. localStorage 的概念和用法 loca…

    JavaScript 2023年6月11日
    00
  • jQuery焦点图切换简易插件制作过程全纪录

    下面我将详细讲解“jQuery焦点图切换简易插件制作过程全纪录”。 一、前言 做一个好用的网站,除了有好的设计外,交互效果和动画效果会让用户的体验更好。当我们需要制作焦点图时,可以选择使用第三方的插件。但为了更好地理解焦点图的制作原理,我们可以自己来手写一个简易焦点图切换插件。 二、需求分析 在开始编码之前,我们需要考虑一下插件的需求: 可以实现无缝轮播焦点…

    JavaScript 2023年6月11日
    00
  • Python3实现飞机大战游戏

    Python3实现飞机大战游戏攻略 1. 准备工作 在开始编写游戏代码之前,需要安装好Pygame库。 在Windows系统下可以使用pip命令进行安装: pip install pygame 在Linux系统下可以使用以下命令安装: sudo apt-get install python3-pygame 2. 创建窗口 使用Pygame库创建游戏窗口的代码…

    JavaScript 2023年6月11日
    00
  • JS实现的base64加密解密操作示例

    针对“JS实现的base64加密解密操作示例”的完整攻略,我给出以下详细讲解: 什么是base64? Base64是一种基于64个可打印字符来表示二进制数据的表示方法,主要用于在HTTP协议下传输数据和加密算法中的一种实现方式。 base64加密和解密原理 加密:将二进制数据按照6位一组分成若干组(不足6位以0补全),然后按照这些组所代表的数值在Base64…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部