事件代理

作者: 凛冬已至_123 | 来源:发表于2018-07-10 11:22 被阅读0次

javascript和jQuery的事件代理不同写法

首先思考一下:为什么我们要用到事件代理???

  • 举个栗子
    父元素下现有四个子元素,我们要监听子元素的增减变化,此时我们就需要监听父元素来到达目的
    再者我们在子元素上绑定了事件,我们可以用addEvenListener监听器对子元素进行监听,但是如果子元素增加了,我们的监听范围没有发生变化,还是原来的四个元素,那么新增元素就无法监听事件,这就需要把监听器发给到父元素上,那么用jQuery和JavaScript怎么实现呢
    HTML
<div class="box">
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
  </ul>
</div>
<input id="ipt" type="text"> <button id="btn">添加</button>
<div id="wrap">
</div>
<script>
$('#btn').on('click', function(){
  var value = $('#ipt').val()
  $('.box>ul').append('<li>'+value+'</li>')
})
</script>

JavaScript


document.querySelector('.box ul').addEventListener('click', function(e){
  console.log(e.target)
    if(e.target.tagName.toLowerCase() === 'li'){
        document.getElementById('wrap').innerText=e.target.innerText
    }
})

记住e.target.tagName.toLowerCase()

  • e.target是点击事件的html<li>2</li>
  • e.target.tagName='LI'
  • toLowerCase()是大写变小写
    jQuery
$('.box ul').on('click', 'li', function(){
  var str = $(this).text()
  $('#wrap').text(str)
})
  • 这个不解释,不懂得直接查,非常简单

相关文章

  • 第二十天web前端面试题

    1,什么是事件代理且描述事件代理的原理及为什么要用事件代理? 事件委托也叫事件代理。利用事件冒泡,让自己的触发的事...

  • 概念

    事件委托,事件代理 事件代理又称之为事件委托。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理...

  • Block和代理协议

    代理协议: 1.要确定谁是代理对象,谁是被代理对象。 事件在哪里产生,谁就被代理对象。 事件在哪里响应,谁就是代理...

  • dom事件代理

    实现一个js事件代理的模块,帮助用户快速实现事件代理。

  • 【事件代理】 动态数据列表里,如何监听每条数据的点击?

    前言 在问题前,需要先清楚关于事件冒泡、事件代理的定义 事件冒泡 事件代理 原理: 事件冒泡机制实现方式:可用ad...

  • 前端面试题套路

    套路一:事件代理 1、事件代理基本原理 事件代理的基本原理简单来说就是将子元素的事件通过冒泡的形式交由父元素来执行...

  • 事件代理

    1.问题描述 双击文章栏目中的单词可以添加到生词栏目中,我们可以给每个单词添加一个dblclick事件,那么这里就...

  • 事件代理

    javascript和jQuery的事件代理不同写法 首先思考一下:为什么我们要用到事件代理??? 举个栗子父元素...

  • 事件代理

    简单情况的事件代理写法 假设是这个么结构,然后现在要监听的是 父容器 ul : 那么我们的监听代码可以这么写: 点...

  • 事件代理

    事件代理(事件委托):利用了事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。 事件委托就是利用冒泡...

网友评论

    本文标题:事件代理

    本文链接:https://www.haomeiwen.com/subject/jukfpftx.html