我有一个脚本,通过JQuery .live或.bind(尚未确定)将点击事件处理程序添加到页面中的大约500个元素,并且我遇到了JQuery性能问题。
使用小型数据集,我可以加载页面,一旦页面根据浏览器完成加载,我就可以点击某些内容然后关闭。但是增加数据集并且页面加载结束和我的点击处理之间存在明确的延迟,我只能假设JQuery仍在处理附加事件处理程序 - 点击处理正确,所以我假设它排队然后处理。
有没有办法让JQuery在继续之前等待.live()完成,或者换句话说是同步处理它而不是异步处理它是否有意义?这样我就可以在开始.live()调用之前加载一个加载屏幕,并在完成时将其关闭。
此致 も
答案 0 :(得分:0)
jQuery .live()
处理程序(或.delegate()
)应该快速完成非常,这与绑定每个元素的.bind()
不同。在这些情况下,您应该使用.live()
或.delegate()
,因为.bind()
的启动成本远远超过父元素上处理程序的事件冒泡/收听成本。