美文网首页
js事件委托/事件代理

js事件委托/事件代理

作者: 我真的好暴躁啊 | 来源:发表于2017-10-15 19:34 被阅读11次

事件委托就是利用事件冒泡,只指定一个时间处理程序就可以管理某一类型的所有事例。

  • 优点:提高性能

JavaScript方式

    <ul id="list">
      <li>按钮1</li>
      <li>按钮2</li>
      <li>按钮3</li>
      <li>按钮4</li>
    </ul>
    <button onclick="createLi()">create</button>
    document.getElementById('list').onclick = function(e){
      var e = e || window.event;
      // event对象属性target 返回事件的目标节点
      var target = e.target || e.srcElement;
      if(target.nodeName == 'LI'){
        alert(123+'---'+target.innerHTML);
      }
    }
    // 对于之后添加的元素代理事件依然有效
    function createLi(){
      var newLi = document.createElement('li');
      newLi.innerHTML = 'newLi';
      document.getElementById('list').appendChild(newLi);
    }

用事件委托的方式,新添加的子元素是带有事件效果的。当我们使用事件委托的时候,不需要去遍历元素的子节点,只需要给父级元素添加事件就好了,可以减少DOM操作。

jQuery方式

on委托事件
语法:$(selector).delegate(childSelector,event,data,function)

    $('#list').on('click', 'li',function(){
      alert(123+'---'+$(this).html());
    });
    function createLi(){
      $('#list').append('<li></li>').children('li:last').html('newLi');
    }

相关文章

  • JS写事件代理

    js中的事件委托或是事件代理详解

  • js 事件委托 事件代理

    js 事件委托 事件代理 JavaScript高级程序设计上解释:事件委托就是利用事件冒泡,只指定一个事件处理程序...

  • js事件委托/事件代理

    事件委托就是利用事件冒泡,只指定一个时间处理程序就可以管理某一类型的所有事例。 优点:提高性能 JavaScrip...

  • JS事件委托(事件代理)

    什么是事件委托? 举个例子,我们要实现点击 li 时打印其id 一般我们会给每一个li绑定一个事件处理函数 这种方...

  • js事件委托(事件代理)

    定义:事件委托就是在DOM事件的冒泡阶段,把具体dom上发生的事件委托给父元素或祖先元素去处理。原理:要了解委托的...

  • js事件委托(事件代理)

    起因: 1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的; 2、其实我一直都没弄明白,写这个一是为了...

  • js事件深入学习

    JavaScript的事件机制包含,事件绑定、事件监听、事件委托(事件代理)等 js中的事件流 ① .冒泡:当下级...

  • 事件委托

    还有很多要学,要加油哇。回正题。参考: js中的事件委托或是事件代理详解 1、基本概念事件委托就是利用事件冒泡,只...

  • 概念

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

  • js事件委托

    前言 事件委托,也叫事件代理,是js事件中的一种常用技巧。事件委托的原理就是利用冒泡事件的机制,为一些节点的祖先节...

网友评论

      本文标题:js事件委托/事件代理

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