【问题标题】:Jquery Trigger function not working with document readyJquery Trigger 功能无法与文档一起使用
【发布时间】:2022-01-04 06:10:19
【问题描述】:

我正在使用 Php 和 jquery,我有两个按钮用于“预览”和“下载”内容/图像但是我想要每当我加载页面(打开网页)然后 内容/图像应该下载(触发器应该工作) 这是我的“预览”和“下载”代码

<div id="html-content-holder" style="background-color: #F0F0F1; color: #00cc65; width: 5000px;
        Lorem Ipsum dummy text...
    </div>
    
      <input id="btn-Preview-Image" type="button" value="Preview"/>
    <a id="btn-Convert-Html2Image" href="#">Download</a>
    <br/>
    <h3>Preview :</h3>
    <div id="previewImage">
    </div>

var element = $("#html-content-holder"); // global variable
var getCanvas; // global variable
    $("#btn-Preview-Image").on('click', function () {
         html2canvas(element, {
         onrendered: function (canvas) {
                $("#previewImage").append(canvas);
                getCanvas = canvas;
             }
         });
    });

    $("#btn-Convert-Html2Image").on('click', function () {
    var imgageData = getCanvas.toDataURL("image/png");
    var newData = imgageData.replace(/^data:image\/png/, "data:application/octet-stream");
    $("#btn-Convert-Html2Image").attr("download", "your_pic_name.png").attr("href", newData);
    });
</script>

到目前为止我在这里尝试过,我错在哪里?

<script>
$("document").ready(function(){
$("#btn-Preview-Image").trigger("click");
setTimeout(function() {
     $("#btn-Convert-Html2Image").trigger("click");
}, 5000);
});

【问题讨论】:

  • 在我运行您的代码时工作得很好。请注意,您示例中的 div 未正确关闭。它不见了"&gt;
  • @CarstenLøvboAndersen:它没有为我下载,我哪里错了?
  • 你不需要jquery来做,可以通过设置php header来实现,看答案:stackoverflow.com/questions/40943/…
  • @behzadmsalehi:这可以用 jquery 吗?如果是,那么我的代码有什么问题?
  • 绝对是可能的,有一些与 HTML 脚本相关的错误就像 - 你没有打开

标签: javascript php jquery


【解决方案1】:
    <script>
/* document ready to load all thing once document ready */
$(document).ready(function(){
    var element = $("#html-content-holder"); // global variable
    var getCanvas; // global variable
    $("#btn-Preview-Image").on('click', function () {
        alert("I m preview");return false;
         /* Your code what you need to do */
    });
    $("#btn-Convert-Html2Image").on('click', function () {
        alert("I m download");return false;
        /* your code to download image */
    });
    /* Trigger event  */  
    $(document).find("#btn-Preview-Image").trigger("click");
    setTimeout(function() {
        $(document).find("#btn-Convert-Html2Image").trigger("click");
    }, 2000);
});
</script>

您没有使用 find,好像我们必须在整个文档中的任何按钮中触发一个事件,我们可能首先需要找到该 SELECTOR,然后我们可能对其执行操作。您还没有做的另一件事是您没有将事件保存在 ready 函数中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 2016-01-08
    相关资源
    最近更新 更多