javascript - 创建一个按钮来启动 jQuery 函数而不是立即启动?

标签 javascript jquery

我有这个创建图像的功能:

<script>
domtoimage.toJpeg(document.getElementById('print_screen'), { quality: 0.70 })

              .then(function (dataUrl) {
                  var link = document.createElement('a');
                  link.download = 'invoice.jpeg';
                  link.href = dataUrl;
                  link.click();
});
</script>

问题是它在加载页面时立即启动。我想做一个像这样的按钮:

<a class="btn" href="" onclick="printFunction()">Click here to print</a>

我尝试将 domtoimage 包装在 function printFunction 中,但这没有用。我究竟做错了什么? :(

最佳答案

如果您使用的是 jQuery,那么您可以将您的函数包装在 document.ready 函数中,就像这样,如果不是,您的 domtoimage.toJpeg 函数将在浏览器解析该标记时执行。

<script>
$(document).ready(function(){
    var btnHandler = function(){
              domtoimage.toJpeg(document.getElementById('print_screen'), { quality: 0.70 })

              .then(function (dataUrl) {
                  var link = document.createElement('a');
                  link.download = 'invoice.jpeg';
                  link.href = dataUrl;
                  link.click();
    };
    var $btn = $("a.btn").click(btnHandler);
});
</script>

关于javascript - 创建一个按钮来启动 jQuery 函数而不是立即启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40211905/

相关文章:

javascript - 阻止视频在手机后台加载

jquery slidedown 和 slideup 摆动 div

javascript - 如何缩短 jquery 语法 if-else 语句?

javascript - D365 JavaScript 使用查找、选项集和货币字段创建新记录

javascript - 使用 'var undefined' 测试未定义有什么问题吗

javascript - 如何停止文本重叠文本区域

javascript - $(document).ready() 也准备好 CSS 了吗?

javascript - 如何使用 React 正确更新数组中的状态?

php - 如何通过ajax向php发送第二个值

javascript - 侧边栏导航不显示