我在按钮单击事件上使用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();

10-05 20:33
查看更多