我在网页中使用了highcharts,它有点重。
当用户点击按钮时,动态加载高图表,并且当用户单击“关闭”按钮时,删除/隐藏图表。
我想知道哪个选项更好。
当用户单击时隐藏图表?这会减慢页面余下的部分速度(因为存在大量的JavaScript和处理程序吗?),还是
remove()
它,使页面变得更轻(但是在这里,当用户再次单击按钮时,我需要重新加载图表),还是使用
detach()
,以便在重新加载高级图表时它比remove()
更快,(但这不会让页面更重,因为jQuery处理程序一直存在吗?)
从jQuery文档中我知道:
.remove()方法将元素从DOM中移除。当你想要删除元素本身以及其中的所有内容时,请使用.remove()。除了元素本身外,所有绑定的事件和与元素相关的jQuery数据也将被删除。
.detach()方法与.remove()相同,只是.detach()保留了与已移除元素相关的所有jQuery数据。当要在稍后重新插入已移除元素时,此方法非常有用。
匹配的元素将立即隐藏,没有动画效果。这大致相当于调用.css('display', 'none')