首页 > 解决方案 > 调用 update() 时防止滚动

问题描述

我在一个页面上有多个图表,包含在 Bootstrap 可折叠 div 中。每个图表都是动态的,这意味着用户采取的操作可能会导致图表更新。我看到的问题是,每次调用 update() 后,页面的滚动位置都会返回到顶部。

我尝试了在另一个问题中阅读的建议,在调用更新之前存储当前滚动位置并在更新调用之后重置它,但这不起作用。

这是我正在尝试的当前序列:

let pos = $(document).scrollTop();
this.chart.update();
console.log(`Setting scroll to: ${pos}, window.scrollY = ${window.scrollY}`);
$(document).scrollTop(pos);

这会在控制台中记录以下内容:

Setting scroll to: 968, window.scrollY = 968

但是,窗口仍会滚动回页面顶部。我检查了 Chart.js 文档中的事件以查看是否有更新后事件可以用来设置滚动位置,但列出的唯一事件与触摸/鼠标事件有关。

任何帮助,将不胜感激!

标签: chart.js

解决方案


啊。问题在于下拉选择有一个不需要的'href =“#”'标签,它只需要onclick事件。


推荐阅读