js 事件

2019-12-24  本文已影响0人  行走的蛋白质


事件流

// 标准浏览器:如果第三个参数为 true 则为事件捕获,false 则为事件冒泡
addEventListener('click', function, true)
// IE浏览器只支持事件冒泡,所以第三个参数没有了意义
element.attachEvent('click', function)
// 阻止事件冒泡
// 1. 标准浏览器
e.stopPropagation()
// 2. IE 浏览器
e.cancelBubble = true
// 阻止默认行为
// 1. W3C
e.preventDefault()
// 2. IE 浏览器
return false 


时间委托/代理的好处:节省内存,提高性能

每一个函数都是一个对象,是对象就会占用内存,对象越多,内存占用率越大,以 ul li 为例,100个 li 就要占用 100 个内存空间。如果用事件委托,就会将所有的操作放到 js 程序里面只对它的父级 ul 这一个对象进行操作,与 dom 的操作就只需要进行一次,这样就能大大减少与 dom 的操作次数,提高性能,节省内存

上一篇 下一篇

猜你喜欢

热点阅读