我有一个下载音频文件的链接。我希望隐藏它,并允许用户使用按钮调用它。但不知怎的,我无法触发点击事件。
这是HTML:
<a class="APopupDown" data-icon="home" id="DownloadFile" href="http://yahoo.com/abc.mp3" download="My File Name">Download File</a>
<button data-icon="home" href="#" onclick="DlMsg()">Download</button>
这是触发器。
function DlMsg()
{
alert("I am here");
$('#DownloadFile').trigger('click');
}
Jfiddle示例是here
正如您所见,diredct链接有效,但按钮却没有。知道我做错了吗?
由于
-----更新-------
我根据Jai的建议做了改变。但是,它现在开始播放音频而不是下载,而我想要的是使用HTML5的下载功能。这是jsfiddle link
答案 0 :(得分:1)
得到了答案。只需看到这个小提琴http://jsfiddle.net/EWQ6n/512/
来源:
<a class="APopupDown" class="test" data-icon="home" id="DownloadFile" href="http://www.jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3" download="My File Name">Download File</a>
<button data-icon="home" id="btnDownload">Download</button>
脚本:
$("#btnDownload").click(function(e){
$("#DownloadFile").get(0).click();
});
我就像这样使用
$("#DownloadFile").get(0).click();
触发锚定点击事件。
答案 1 :(得分:0)
您需要首先将click
事件绑定到该元素:
$('#DownloadFile').click(function(e){
e.preventDefault();
window.location.href = this.href;
});
然后您的触发器将起作用:
$('#DownloadFile').trigger('click');