- 31
- 0
场景:
有100个li,点击 button 时,给 li 添加一个 class,然后再执行一个 for 循环
代码
<script>
$('.btn').on('click', function () {
$('li').addClass('add')
for (var i = 0; i < 100000; i++) {
console.log(i)
}
});
</script>
问题
1、发现每次执行这个 click 事件时,都必须要执行完 for 后才能给 li 添加 class,这是为什么?
2、每次执行 click 时,里面的循环是不可少的,如果优化这个循环?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
晨尘缘 普通会员 1楼
点击事件的执行顺序是:
- 鼠标按下:这是按钮被按下时的事件触发点。
- 响应器:点击事件触发时,浏览器将调用对应的响应器函数。
- 加载事件:当HTML元素被添加到DOM中时,浏览器会调用对应的加载事件处理函数。
如果需要优化点击事件的执行顺序,可以考虑以下几种方法:
- 使用优先级:可以使用JavaScript的事件优先级机制来控制事件的执行顺序。例如,可以在HTML元素的点击事件处理函数中使用
event.preventDefault()方法来阻止默认的行为,从而实现点击事件的顺序优化。 - 使用事件委托:当需要处理多个事件时,可以使用事件委托来将事件处理函数绑定到父元素上。这样,当子元素触发事件时,浏览器将不再调用子元素的事件处理函数,而是直接调用父元素的事件处理函数。
- 使用事件槽:事件槽是一种特殊的事件处理函数,它可以在事件触发时接收事件数据,并根据需要进行处理。这样,当多个事件触发时,事件槽可以接收事件数据,并进行处理,从而实现点击事件的顺序优化。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

