javascript - 如何使用 filesaver.js 和 canvas-toBlob.js 防止文件保存后页面刷新
问题描述
我在 js/jquery 中实现了一个小功能来创建一个保存文件按钮,允许用户将在 chart.js 中制作的图表保存到他们的系统中。但是,当单击按钮时,页面会刷新并返回顶部。我已经查看了我的其余代码,并没有发现任何其他会导致这种情况发生的情况。如何防止这种行为?
功能如下;该图表是使用标准 chartjs 对象构造的。该站点是使用引导程序 4 构建的。
$('#save-btn').on('click', function() {
$('#printBarChart').get(0).toBlob(function(blob) {
saveAs(blob, "combined_bar_chart.png");
});
});
解决方案
您可以在该点击上尝试 preventDefault()
应该
$('#save-btn').on('click', function(e) {
$('#printBarChart').get(0).toBlob(function(blob) {
saveAs(blob, "combined_bar_chart.png");
e.preventDefault();
});
});
推荐阅读
- sqlalchemy - 使用 sql_alchemy_conn 在 Airflow 中配置 sql server
- docker - 在没有 Docker 的情况下运行 Hasura
- c# - 不能使用 arraylist 并且定义了 system.collections
- python - 使用 Transformers 中的 BertForTokenClassification 进行序列标记
- optimization - 向量化索引识别以加快 GPU 处理速度
- javascript - 单击按钮时,使用 reactjs 更改单击按钮的类名以及该组中的其他按钮
- asp.net - ASP.NET Core 将 int 值从 ajax 传递给 View
- typescript - 打字稿:要求枚举中的所有键都是有效类型
- neo4j - neo4j 发现所有连接非常慢
- xamarin.forms - 如何知道 Xamarin ListView 是否聚焦