Javascript 让jQuery单击锚定在Firefox上工作

Javascript 让jQuery单击锚定在Firefox上工作,javascript,jquery,firefox,cross-browser,Javascript,Jquery,Firefox,Cross Browser,我有这个剧本: function downloadIt() { var dataUri = "data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333" var filename = "somedata.csv" $("<a download='" + filename + "' hre

我有这个剧本:

function downloadIt() {
  var dataUri = "data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333"
  var filename = "somedata.csv"
  $("<a download='" + filename + "' href='" + dataUri + "'></a>")[0].click();
}
函数下载它(){
var dataUri=“data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333”
var filename=“somedata.csv”
$(“”)[0]。单击();
}

它在Chrome上工作,但在Firefox上不工作,在控制台上没有任何错误。原因是什么以及如何解决此问题?

主体上添加元素
解决了此问题,只需将上述问题的第
3行
替换为以下内容:

// store the element to a variable
var x = $("<a download='" + filename + "' href='" + dataUri + "'></a>");

// append to body
x.appendTo('body');

// click it (download)
x[0].click();

// remove from body
x.remove();
//将元素存储到变量
变量x=$(“”);
//附加到正文
x、 附属于(“主体”);
//点击它(下载)
x[0]。单击();
//从身体上取下
x、 删除();

当元素未附加到
主体

时,firefox似乎不会执行单击事件。我从未见过下载属性,更不用说在锚定标签上了。
下载
属性设置下载内容的默认名称提供描述,这个答案将是完美的。