iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript中DOM事件的示例分析
  • 532
分享到

JavaScript中DOM事件的示例分析

2023-06-29 04:06:24 532人浏览 八月长安
摘要

这篇文章主要介绍了javascript中DOM事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、事件对象【获取事件对象】什么是事件对象:是个对象,这个对象里有事

这篇文章主要介绍了javascript中DOM事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、事件对象

【获取事件对象】

  • 什么是事件对象:是个对象,这个对象里有事件触发时的相关信息。

  • 事件对象的语法

元素.addEventListener('click',function(e){})

【事件对象常用属性】

  • type:获取当前的事件类型

  • clientX/clientY:获取光标相对于浏览器可见窗口左上角的位置

  • offsetX/offsetY:获取光标相对于当前DOM元素左上角的位置

  • key:用户按下的键盘的值

【案例】:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta Http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        img {            position: absolute;            top: 0;            left: 0;        }    </style></head><body>    <img src="./images/tianshi.gif" alt="">    <script>        let img = document.querySelector('img')        document.addEventListener('mousemove', function (e) {            img.style.top = e.pageY-40 + 'px'            img.style.left = e.pageX-50 + 'px'        })    </script></body></html>

2、事件流

【解释】: 事件流是指事件完整执行过程中的流动路径

【图解】:

JavaScript中DOM事件的示例分析

【说明】:

  • 捕获阶段是从父到子

  • 冒泡阶段是从子到父

【什么是事件冒泡】 :当一个元素的事件被触发时,同样的事件将会在该元素的所有祖先元素中依次被触发。

事件冒泡是默认存在的。

【案例解释】

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        .father {            margin: 100px auto;            width: 500px;            height: 500px;            background-color: pink;        }        .son {            width: 200px;            height: 200px;            background-color: purple;        }    </style></head><body>    <div class="father">        <div class="son"></div>    </div>    <script>        let fa = document.querySelector('.father')        let son = document.querySelector('.son')        fa.addEventListener('click', function () {            alert('我是爸爸')        }, true)        son.addEventListener('click', function () {            alert('我是儿子')        }, true)        document.addEventListener('click', function () {            alert('我是爷爷')        }, true)        // btn.onclick = function() {}    </script></body></html>

【事件捕获概念】: 从DOM的根元素开始去执行对应的事件。

【语法】

DOM.addEventListener(事件类型,事件处理函数,是否使用捕获机制)

【说明】

  • addEventListener第三个参数传入true代表是捕获阶段触发

  • 若传入false代表冒泡阶段触发,默认就是false

  • 原来的写法没有捕获只有冒泡阶段

【阻止事件的流动】

语法:

事件对象.stopProPagation()

说明:

  • 阻止事件的流动,在捕获和冒泡阶段都有效

  • mouseover 和 mouseout 会有冒泡效果

  • mouseenter 和 mouseleave 没有冒泡效果(推荐)

【阻止事件的默认行为】

语法:

e.preventDefault()

3、事件委托

【解释】: 将事件委托于其他元素进行处理。

【优点】: 给父级元素添加事件可以极大的优化性能

【原理】: 利用事件冒泡的特点,给父级元素添加事件,子元素可以触发

【语法】: 事件对象.target可以获取得到真正触发事件的元素

4、综合案例

**【需求】:**点击录入按钮,可以增加学生信息

JavaScript中DOM事件的示例分析

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>Document</title>  <link rel="stylesheet" href="CSS/user.css"></head><body>  <h2>新增学员</h2>  <div class="info">    姓名:<input type="text" class="uname">    年龄:<input type="text" class="age">    性别: <select name="gender" id="" class="gender">      <option value="男">男</option>      <option value="女">女</option>    </select>    薪资:<input type="text" class="salary">    就业城市:<select name="city" id="" class="city">      <option value="北京">北京</option>      <option value="上海">上海</option>      <option value="广州">广州</option>      <option value="深圳">深圳</option>      <option value="曹县">曹县</option>    </select>    <button class="add">录入</button>  </div>  <h2>就业榜</h2>  <table>    <thead>      <tr>        <th>学号</th>        <th>姓名</th>        <th>年龄</th>        <th>性别</th>        <th>薪资</th>        <th>就业城市</th>        <th>操作</th>      </tr>    </thead>    <tbody>    </tbody>  </table>  <script>    //准备好数据后端的数据    let arr = [      { stuId: 1001, uname: '欧阳霸天', age: 19, gender: '男', salary: '20000', city: '上海' },      { stuId: 1002, uname: '令狐霸天', age: 29, gender: '男', salary: '30000', city: '北京' },      { stuId: 1003, uname: '诸葛霸天', age: 39, gender: '男', salary: '2000', city: '北京' },    ]    // 获取元素    let tbody = document.querySelector('tbody');    // 获取录入按钮    let add = document.querySelector('.add');    // 获取表单元素    let uname = document.querySelector('.uname')    let age = document.querySelector('.age')    let gender = document.querySelector('.gender')    let salary = document.querySelector('.salary')    let city = document.querySelector('.city')    // 封装渲染数据的函数    function render() {      // 清空原来的数据      tbody.innerHTML = ''      for (let i = 0; i < arr.length; i++) {        // 创建tr        let tr = document.createElement('tr');        // 添加数据        tr.innerHTML = `        <td>${arr[i].stuId}</td>        <td>${arr[i].uname}</td>        <td>${arr[i].age}</td>        <td>${arr[i].gender}</td>        <td>${arr[i].salary}</td>        <td>${arr[i].city}</td>        <td>          <a href="javascript:" id=${i}>删除</a>        </td>        `        tbody.appendChild(tr)        // 复原表单数据        uname.value = age.value = salary.value = ''      }    }    // 调用页面加载函数    render();    // 添加数据操作    add.addEventListener('click', function () {      // 获取表单的数据 添加到数组      arr.push({        stuId: arr[arr.length - 1].stuId + 1,        uname: uname.value,        age: age.value,        gender: gender.value,        salary: salary.value,        city: city.value      })      render();    })    // 删除操作    tbody.addEventListener('click', function (e) {      if (e.target.tagName === 'A') {        arr.splice(e.target.id, 1)        render()      }    })  </script></body></html>

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript中DOM事件的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: JavaScript中DOM事件的示例分析

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript中DOM事件的示例分析
    这篇文章主要介绍了JavaScript中DOM事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、事件对象【获取事件对象】什么是事件对象:是个对象,这个对象里有事...
    99+
    2023-06-29
  • DOM事件的示例分析
    这篇文章给大家分享的是有关DOM事件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.事件流时间流--- 描述的是从页面中接受事件的顺序。(1)事件冒泡流。事件最开始由...
    99+
    2024-04-02
  • JS中Dom与事件的示例分析
    这篇文章主要介绍了JS中Dom与事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。dom对象的innerText和innerHTM...
    99+
    2024-04-02
  • js中DOM事件绑定的示例分析
    这篇文章主要为大家展示了“js中DOM事件绑定的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中DOM事件绑定的示例分析”这篇文章吧。js事件绑定J...
    99+
    2024-04-02
  • JavaScript DOM常用事件实例分析
    本篇内容介绍了“JavaScript DOM常用事件实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • javascript事件的示例分析
    这篇文章将为大家详细讲解有关javascript事件的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了js事件的传播,供大家参考,具体内容如下&...
    99+
    2024-04-02
  • Javascript中DOM范围的示例分析
    这篇文章主要介绍Javascript中DOM范围的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建范围Document类型中定义了createRange()方法。在兼容DO...
    99+
    2024-04-02
  • JavaScript中ECMAScript、BOM、DOM的示例分析
    小编给大家分享一下JavaScript中ECMAScript、BOM、DOM的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下...
    99+
    2024-04-02
  • JavaScript中DOM操作的示例分析
    这篇文章主要介绍JavaScript中DOM操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:一、DOM概念1. "D":Docment,指的...
    99+
    2024-04-02
  • JavaScript中DOM操作常用事件实例分析
    这篇文章主要讲解了“JavaScript中DOM操作常用事件实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中DOM操作常用事件实例分析”吧!由此可以看出事件分三个...
    99+
    2023-06-30
  • js中DOM事件常见操作的示例分析
    这篇文章主要介绍js中DOM事件常见操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、JavaScript的组成JavaScript基础分为三个部分:ECMAScrip...
    99+
    2024-04-02
  • JavaScript中事件机制的示例分析
    这篇文章主要介绍JavaScript中事件机制的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!事件是将JavaScript脚本与网页联系在一起的主要方式,是JavaScrip...
    99+
    2024-04-02
  • JavaScript中事件冒泡的示例分析
    这篇文章主要介绍JavaScript中事件冒泡的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是事件冒泡?事件冒泡刚好与事件捕获相反,当前元素---->body -...
    99+
    2024-04-02
  • JavaScript中事件捕获的示例分析
    这篇文章主要介绍JavaScript中事件捕获的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是事件捕获?当事件发生在 DOM 元素上时,该事件并不完全发生在那个元素上。...
    99+
    2024-04-02
  • JavaScript事件流的示例分析
    这篇文章主要介绍JavaScript事件流的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.什么是事件流 ?在学习事件流之前我们先看看什么是事件 ?事件代表文档或浏览器窗口中某个有意义的时刻即用户与页面的交...
    99+
    2023-06-29
  • Angular4.x Event中DOM事件和自定义事件的示例分析
    这篇文章给大家分享的是有关Angular4.x Event中DOM事件和自定义事件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Angular组件和DOM元素通过事件与...
    99+
    2024-04-02
  • javascript事件查询的示例分析
    这篇文章主要为大家展示了“javascript事件查询的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript事件查询的示例分析”这篇文章吧。click()   对...
    99+
    2023-06-03
  • Javascript事件对象的示例分析
    小编给大家分享一下Javascript事件对象的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果是事件处理函数绑定的函...
    99+
    2024-04-02
  • javascript滚轮事件的示例分析
    小编给大家分享一下javascript滚轮事件的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下<html>    <he...
    99+
    2024-04-02
  • JavaScript事件方法的示例分析
    这篇文章主要介绍了JavaScript事件方法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。上代码<!DOCTYPE&nbs...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作