我在按钮单击事件上使用html2canvas创建图像。但是我必须单击两次按钮才能将图像下载到我的系统。我可以在第一次点击时执行此操作吗?我是javascript / jquery的新手,因此非常感谢任何指针。
<script>
$("#btn").on('click', function () {
html2canvas($("#maintag"), {
onrendered: function (canvas) {
var myCanvas = canvas;
var initImage = myCanvas.toDataURL("image/png");
var dnldImage = initImage.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
$("#btn").attr("download", "test.png").attr("href", dnldImage);
}
});
});
</script>
最佳答案
您可以在页面加载时触发它。将此触发器添加到事件结束:
}).click(); // .trigger('click');
$("#btn").on('click', function () {
html2canvas($("#maintag"), {
onrendered: function (canvas) {
var myCanvas = canvas;
var initImage = myCanvas.toDataURL("image/png");
var dnldImage = initImage.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
$("#btn").attr("download", "test.png").attr("href", dnldImage);
}
});
}).click();