【问题标题】:Jquery click event function is can't download csv file?Jquery点击事件功能无法下载csv文件?
【发布时间】:2016-09-15 22:42:28
【问题描述】:

首先,我通过 html onclick 元素导出 csv 文件!它工作正常。当我出于某种原因将其更改为 jquery 点击事件时!无法导出 csv 文件?为什么,我认为调用了相同的函数!

Export.Export() 用于我的 csv 文件下载功能。

此代码可以下载csv文件

<a href="" class="button" onclick="Export.Export.apply(this, [$('table.listtbl'), 'Table.csv']);">Export</a>

这不行

<a href="" class="export">Export</a>
<script>
  $('.export').click(function(e){
     e.preventDefault();
     alert("click");//click
     Export.Export.apply($(this), [$('table.listtbl'), 'Table.csv']);
     });
</script>

【问题讨论】:

  • 我很确定 '.export' 是供 jquery 搜索的 class
  • 您看到的错误是什么?你看到alert了吗?
  • 抱歉没有看到你的第二个href,Export.Export()是一个jquery函数吗?
  • Export.apply(parameter1,parameter2) 的第一个参数是什么?
  • 控制台有错误吗?

标签: javascript jquery html csv


【解决方案1】:

可能在所有脚本加载之前就绑定了click事件..

试试:

$( document ).ready(function() {
    $('.export').click(function(e){
        Export.Export.apply($(this), [$('table.listtbl'), 'Table.csv']);
    });
});

【讨论】:

    【解决方案2】:

    我永远不会将锚标记与$(element).click(function(){}); 一起使用。怎么用

    <button onclick="exportcsv(this);">Export</button>
    <script>
      function exportcsv(e){
        var $e = $(e);
        Export.Export.apply($e, [$('table.listtbl'), 'Table.csv']);
      }
    </script>
    

    【讨论】:

    • 我的第一个工作代码有什么不同onclick="Export.Export.apply(this, [$('table.listtbl'), 'Table.csv']);"
    • 没什么,我猜(只是你有一个合适的 html 格式)。但后来:你为什么需要改变它?
    【解决方案3】:

    尝试使用&lt;a href="#" class="button" onclick="Export.Export.apply(this, [$('table.listtbl'), 'Table.csv']);"&gt;Export&lt;/a&gt;,希望它可以工作。确保在加载标签后加载脚本。

    如果href为空,当前页面会在调用click事件之前重新加载,所以页面会在下载文件之前刷新。

    【讨论】:

    • “href 不能留空”你从哪里得到这个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多