吃瓜网站&吃瓜事件:
js事件委托和ja事件代理有什么区别
事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,利用冒泡的原理,把事件加到父级上,触发执行效果 --- 如果我们不想或不能够直接操纵目标对象,我们可以利用delegate创建一个代理对象来调用目标对象的方法,从而达到操纵目标对象的目的。代理对象要拥有目标对象的引用。
事件代理和事件委托[文]实际上说的是同一件[章]事,只是站在不同的[来]角度来说的。比如说[自]元素A把事件处理委[Z]托给自己的父元素B[B]去处理,那么A就是[L]事件委托方,而B就[O]是事件代理方,两者[G]参与的实际上是同一[文]件事。
此外,两者之间还有[章]一个显著的差异是,[来]在委托中,委托人承[自]担意外损失的风险较[Z]小,而代理人承担的[B]损失却很大。
如果有大量动态生成[L]的元素,普通的绑定[O]方式会有很多不便,[G]委托的方式有更好的[文]性能和灵活性。
事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件,事件委托又叫事件代理。举一个通俗的例子:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台代为签收。
前端性能优化总结(一)-js、css优化
1、现代浏览器会对频繁的回流或重绘操作进行优化:浏览器会维护一个队列,把所有引起回流和重绘的操作放入队列中,如果队列中的任务数量或者时间间隔达到一个阈值的,浏览器就会将队列清空,进行一次批处理,这样可以把多次回流和重绘变成一次。
2、查资料了解到主[章]要的性能瓶颈在DO[来]M操作(选择元素、[自]添加元素)上,优化[Z]方向主要有两点:缓[B]存选择元素的结果,[L]不要每次重新选择;[O]数据获取完成后将所[G]有的数据合并一起添[文]加到表格中。优化后[章]性能提升明显,平均[来]打开速度降低到了3[自]00毫秒以下。
3、这篇文章我将以几个大方向总结性能优化,思路也是从浏览器-〉资源-〉图片-〉代码层面来讲解。
js中event的target和currentTarget的区别
target:触发事件的元素。currentTarget:事件绑定的元素。
event.tar[Z]get:这是指向的[B]是事件所在绑定的元[L]素,加入是事件代理[O],那么这个指向的是[G]代理的元素而不是触[文]发的元素 event.cur[章]rentTarge[来]t:这个表示的是事[自]件冒泡现在正处于的[Z]元素,这个指向在事[B]件冒泡中是会改变的[L]。
这时 target 指向的是box元素,而 currentTarget 指向的是container元素,因为事件执行的直接目标是box元素。
target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段。只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(注册该事件的对象)(一般为父级)。