事件委派是利用冒泡,通过委派可以减少事件绑定的次数,提高程序的性能,这就是JavaScript里面的事件委派,jQuery里面的delegate()也能实现同样的效果
首先先看JS代码是如何实现的,获取到li标签的父元素ul标签,设置点击事件,判断目标的事件对象是否是LI标签,如果是就设置li标签的文本颜色,点击li标签就能改变颜色。
动态添加li标签,获取到按钮,给按钮绑定点击事件,声明新的变量接收新创建的li标签,设置新里标签的文本内容,父元素插入新li标签,这样就能实现出JS事件委派
再看JQ的实现方式,首先需要链入JQ的脚本文件,父元素设置delegate这个方法,这个方法的意思就是:向匹配元素的当前或未来的子元素添加处理程序,方法里面第一个参数是标签名,然后是点击事件,再到封装函数,设置当前的元素的文本颜色,然后就能够点击list里面任意一个li标签切换颜色,和上面JS实现的效果一致
为按钮绑定点击事件,父元素插入新里标签,点击新li标签也能切换颜色,这就是JQ的实现的事件委派的方式。
JQ的代码相对JS的代码更简单,代码更少,但是实现出来的效果和JS代码的一致。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)