js_操作dom(委托和冒泡事件)

简介: js_操作dom(委托和冒泡事件)

js操作html

js操作dom

js创建div样式,添加节点删除节点等等

var el1 = document.createElement('div');
var el2 = document.createElement('input');
var node = document.createTextNode('hello world!');
el1.appendChild(el2)
el1.removeChild(el2)

div绑定js函数

onclick绑定事件

<div id='childID' onclick="childfunc()">子组件</div>

js的委托事件

将事件统一绑定给元素共同的祖先元素(后代元素事件触发时,通过冒泡,通过祖先元素的响应函数来处理事件)

这样可以只绑定一次,即可应用到多个元素上

事件的委派利用了冒泡,通过委派可以减少事件绑定的次数,提高程序的性能

event中的target表示的触发事件的对象

使用它对触发事件的元素进行判断

js

function onloadEvent() {
      document.getElementById("eventTrust").addEventListener('click', function(e) {
          alert("点击的内容是:" + e.target.innerHTML);
        })
      }
    window.onload=onloadEvent()

div

function onloadEvent() {
      document.getElementById("eventTrust").addEventListener('click', function(e) {
          alert("点击的内容是:" + e.target.innerHTML);
        })
      }
    window.οnlοad=onloadEvent()

js的冒泡事件

指的是事件的向上传导,当后代元素的事件被触发时,其祖先元素的相同时间也会被触发

div

<div class="right">
        <p>js的冒泡事件</p>
        <div id='parentID' onclick="parentfunc()">
          <div id='childID' onclick="childfunc()">子组件</div>
        </div>
      </div>

事件绑定

<script>
          function parentfunc() {
              console.log('父级事件触发了!')
          }
          function childfunc(){
              console.log('子级事件触发了!')
          }
      </script>

子组件的点击不仅会触发自身绑定的事件也会触发父级事件的点击事件

阻止冒泡

方法一

event.stopPropagation()

注意:但不会阻击dom的默认行为(若添加跳转链接则会触发当前dom跳转)

function childfunc() {
      console.log('子级事件触发了!')
      event.stopPropagation()
    }

方法二

return false;

注意:事件处理过程中,阻止了事件冒泡,也阻止了默认行为(若添加跳转链接也不会触发当前dom跳转)

function childfunc() {
      console.log('子级事件触发了!')
      return false
    }

方法三

event.preventDefault();

注意:事件处理过程中,不会阻止事件冒泡,会阻止了默认行为(若添加跳转链接也不会触发当前dom跳转)

function childfunc() {
      console.log('子级事件触发了!')
      event.preventDefault()
    }


目录
相关文章
|
2月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
1月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
25天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
38 5
|
1月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
2月前
|
存储 JavaScript 前端开发
js事件队列
【10月更文挑战第15天】
51 6
|
2月前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
142 0
|
2月前
|
JavaScript 前端开发 API
深入理解jQuery:高效DOM操作与事件处理
【10月更文挑战第11天】深入理解jQuery:高效DOM操作与事件处理
22 0
|
2月前
|
JavaScript 前端开发 容器
js之dom学习
js之dom学习
45 0
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。