1、什么是事件委托?
自己的事情委托给别人去做(自己的事情委托给父元素去做)
2、为什么要用事件委托?
减少与dom的交互次数,提高性能;
每个函数都是一个对象,是对象就会占用内存,对象越多,内存占用率就越大,自然性能就越差了
只对它的父级(如果只有一个父级)这一个对象进行操作
事件委托的原理:
事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,那么这个事件就会一层一层的往外执行,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托它们父级代为执行事件。
3、jquery中的$(document).ready()和window.onload的区别?
1.执行时间不同
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
2.编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个
$(document).ready()可以同时编写多个,并且都可以得到执行
3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});
4、函数节流、防抖?
函数防抖:一个事件n秒内触发多次,只会执行最后一次
触发一次会终止上一次的事件
函数节流:一个时间在N秒内,只执行一次,执行完成,才会执行下一次。
在执行时间内不会再次触发事件
网友评论