上边说宏任务的怕不是没看过异步实现bug文章...不管标准如何每个浏览器对异步的理解都稍稍有点不一致,更别说有的浏览器希望倒逼标准跟进自己,有些时候标准确实有bug也是事实
扯远了,题目的答案应该是new一个事件然后在监听的元素上dispatch出去.事件本身设置冒泡与否不影响结果,影响因素是监听顺序
当然,如果能保证事件的src就是你正在监听的元素,那么原生事件也是ok的
对某一元素添加监控,触发事件时,先添加的哪个事件就先触发哪个。见如下实例:https://jsbin.com/lomonigege/...
注意这里要点击黄色区域部分即最外层。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
事件是在当前宏事件主任务执行完后才执行的,可以用setTimeout(function(){...捕获阶段的事件需执行的内容...},0)把捕获阶段获取的事件推到下一个宏事件中执行。。。
冒泡阶段的事件在第一个宏事件中执行,捕获阶段事件在第二个宏事件中执行,这样大概就能达到先冒泡后捕获的效果。。