返回

JS事件委托

发布时间:2023-11-06 15:16:33 282


html

  • item1

  • item2

  • item3

  • item4

  • item5



js
$(function(){

// 普通事件
$('li').click(function(){
$(this).css('background', '#D4DFE6');
});


// 动态添加DOM节点
$('#addBtn').click(function(){
$('#wrap').append( $('
  • item'+ ($('li').length + 1) +'
  • ') );
    });

    /**
    * 事件委托
    */

    // jQuery 1.9已废弃
    /*$('li').live('click', function(){
    $(this).css('background', '#D4DFE6');
    });*/

    // jQuery的delegate写法
    $('#wrap').delegate('li', 'click', function(ev){

    // this 指向委托的对象 li
    $(this).css('background', '#D4DFE6');

    // 找到父级 ul#wrap
    $(ev.delegateTarget).css('border', '2px solid #f00');
    });

    // jQuery的on的写法
    $('#wrap').on('click', 'li', function(ev) {
    // this 指向委托的对象 li
    $(this).css('background', '#D4DFE6');

    // 找到父级 ul#wrap
    $(ev.delegateTarget).css('border', '2px solid #f00');
    })


    // js原生写法
    var _wrap = document.getElementById('wrap');
    _wrap.addEventListener('click', function(ev){
    var ev = ev || event;
    if( ev.target.nodeName == 'LI' ) {
    ev.target.style.background = '#8EC0E4';
    console.log( ev.target.innerHTML );
    }

    // 找到父级 ul#wrap
    this.style.border = '2px solid #f00';
    });

    });

    作者:梵天wwlsky


    特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
    举报
    评论区(0)
    按点赞数排序
    用户头像
    精选文章
    thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
    thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
    thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
    下一篇
    yii缓存使用 2023-11-06 12:02:25