【问题标题】:how can i bring up a download button when a file is clicked?单击文件时如何调出下载按钮?
【发布时间】:2019-10-20 16:43:03
【问题描述】:

我认为我的问题对于 javascript 开发人员来说非常简单,但作为后端开发人员,我必须解决一些 javascript 问题。

我的问题: 我希望使用 jquery 在单击特定文件时显示下载按钮。

<button type="button" class="btn btn-danger btn-sm pull-right" style="margin:0 3px" onclick="delete_file();"><i class="glyphicon glyphicon-remove"></i> Delete</button>

我有这个javascript:

function download_file() {
    var fileId = $($(".contextMenuFile.activeFile") 
    [0]).attr("data-file")
    var url = '/downloadFile/' + fileId
    var link = document.createElement("a");
    link.download = name;
    link.href = url;
    link.click();  }

【问题讨论】:

    标签: javascript jquery node.js reactjs


    【解决方案1】:
    • 向 HTML 添加按钮。
    • 将其包裹在另一个 div 中
    • 将 div 样式设置为 display:none
    • 使用 jQuery 的 show 更改 div 样式。

    // To show button
    $("#button_show_starter").click(function() {
      $(".button_wrapper").show("slow", function() {
        // Animation complete.
      });
    });
    
    // To hide button if visible when clicking on other elements
    $("body").click(function(e) {
      const target = $(e.target);
      if (!target.is('#button_show_starter') && !target.is('.pull-right')) {
        $('.button_wrapper').hide();
      }
    });
    
    function delete_file() {}
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <body>
    <div class="button_wrapper" style="display: none">
    <button type="button" class="btn btn-danger btn-sm pull-right" style="margin:0 3px" onclick="delete_file();"><i class="glyphicon glyphicon-remove"></i> Delete</button>
    </div>
    
    <p id="button_show_starter">SHOW ME THE BUTTON</p>
    <div>You can tap here</div>
    <div>Or here to hide button if vibisble</div>
    </body>

    jQuery docs

    【讨论】:

    • 如果在这个 id = "button_show_starter" 之外点击,你能告诉我相反的方式吗?这个按钮应该被禁用
    • 你能解释一下我需要更多集成的代码吗
    • 在此代码中您还需要进行一些编辑,例如如果我们单击按钮按钮被禁用,请解决它
    • 如何在 !target.is('HERE') 中添加两个类
    • if (!target.is('.class1') &amp;&amp; !target.is('.class2')),请检查答案中的代码。你可以在这里添加很多类,只需添加&amp;&amp; !target.is('.class3')等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2018-04-06
    相关资源
    最近更新 更多