jquery事件代理方法

来源:互联网 发布:丹尼斯·约翰逊数据 编辑:程序博客网 时间:2024/04/28 14:45

之前写过原生js的事件代理,最近在用jquery写项目,自然少不了事件代理,所以今天就来写下jquery的事件代理:

例如下面的例子:用事件代理的方法给每个li都添加一个点击事件,

HTML代码:

<ul><li>one</li>
<li>two</li>

<li>three</li>

<li>four</li>
<ul>

实现功能:当点击每个子元素时,被点击的元素就会消失;

js代码:

$('ul').on('click','li',function(e){      console.log(e.target);      this.remove();})


例子2:


为了减少代码冗余,重复写这段代码,我特意尝试将封装了一个事件代理,下次若再使用类似功能的事件代理,只用调用这个函数就可以;

如下:实现鼠标放在li上时,添加背景色:

CSS样式:

 *{margin:0;padding: 0}        .rcmd{margin:50px 100px;position: relative}        ul{            position: absolute;            top:30px;            list-style: none;            width: 100px;            border:1px solid #e3e3e3;            border-radius: 10px;        }        li{width: 80px; margin:10px;  text-align: center;  }        span{            display: inline-block;            width: 100px;            height: 30px;            border-radius:5px;            background: palevioletred;            text-align: center;            line-height: 30px;        }


HTML代码:

<div class="rcmd">          <span>Recommend</span>          <ul class="rcmd-list" style="display:none;" >               <li><a>Recommend</a></li>               <li><a>Online</a></li>               <li><a>Latest</a></li>          </ul> </div>

JS代码:

 function evtagent(e){        $(e).on('mousemove','li',function(e){               console.log(e.target.parentNode);            $(this).css({"background":"rgb(238,238,246)"});        });        $(e).on('mouseout','li',function(e){            $(this).css({"background":"white"});        });    }
调用函数evtagent();
给div添加一个悬浮出现下拉列表的效果,当鼠标指针移动到列表里的子元素时,会给该子元素添加背景色;

 $('.rcmd').hover(function(){        $('.rcmd-list').show('slow','linear',function(){            //调用事件代理            evtagent('.rcmd-list');                  });    },function(){        $('.rcmd-list').hide('slow','linear',function(){        });    });

运行不成功?是不是忘记引入jquery外部文件了大笑再见。。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嗓子长了个囊肿怎么办 食管胃粘膜异位怎么办 狗狗肿瘤破了怎么办 婴儿胃食道反流怎么办 小儿胃食道反流怎么办 放疗后咳嗽痰多怎么办 胃息肉是恶性的怎么办 老是胃疼,胃胀怎么办 吃完饭之后胃胀怎么办 胃痛胃胀怎么办能缓解 胃胀不消化怎么办快速解决 便秘肛裂了好痛怎么办 胃消化慢还便秘怎么办 11个月婴儿便秘怎么办 80多岁老人便秘怎么办 狗狗便秘拉不出来怎么办 2个月幼犬便秘怎么办 狗狗便秘怎么办吃什么 痔疮又痛又痒怎么办 痔疮肉球特别痒怎么办 长了个小痔疮怎么办 产后4天没大便怎么办 7个月孕妇痔疮怎么办 运动完恶心想吐怎么办 跑步后恶心想吐怎么办 肠子不蠕动严重便秘怎么办 怀孕八个月严重便秘怎么办 怀孕七个月便秘严重怎么办 怀孕两个月便秘严重怎么办 3岁宝宝上火便秘怎么办 7个月的宝宝贫血怎么办 9个月婴儿贫血怎么办 肛裂大便有血怎么办 生完宝宝肛门痛怎么办 肛周脓肿出血了怎么办 胃胀怎么办简单的办法 吃多了胃胀难受怎么办 胃窦炎胆汁反流怎么办 怀孕总胆汁酸高怎么办 胃里胆汁反流怎么办 苦胆水吐出来了怎么办