Javascript代码转函数,不工作

Javascript code turned function, does not work

本文关键字:工作 函数 代码 Javascript      更新时间:2023-09-26

我在网上找到了这个JS代码:

var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
link.click();

,当我运行它时,它生成my_data.csv并为我下载它,我希望改变这一点,所以当用户单击按钮时,代码运行。我试着变成一个叫做Testing() function Testing()的函数,我的链接是这样的:

<a href="#" onClick="javascript:Testing()">Test</a>

,但当我把代码在一个函数不工作:(我做错了什么?

在我的控制台的错误说'测试是没有定义'

这是一个jsfiddle: http://jsfiddle.net/F6CWF/

你需要这样做:

HTML:

<a id='btn' href='#'>Test</a>
JavaScript:

document.querySelector( '#btn' ).addEventListener( 'click', function () {
    var encodedUri = encodeURI( csvContent );
    var link = document.createElement( 'a' );
    link.setAttribute( 'href', encodedUri );
    link.setAttribute( 'download', 'my_data.csv' );
    link.click();
});

你也可以创建一个小提琴来帮助我们。

解决这个问题的方法不止一个:

1

var link = document.createElement("a");
link.href = "javascript:Testing()";
2

var link = document.createElement("a");
link.onclick = Testing;

如果上面的例子不起作用,使用内联变量;

1内联

var link = document.createElement("a");
link.href = "javascript: here goes the function's body";

2内联

var link = document.createElement("a");
link.onclick = function() {
  // here goes the function's body
};