1. 實(shí)現(xiàn)模擬點(diǎn)擊a標(biāo)簽下載圖片

使用界面
html代碼:
<a href="../img/img.jpg" download="img">download-img</a>
1.1 無效操作
$("a").click(function () {
console.log("a click");
});
$("a").click();
相信很多人和我的第一想法一樣,但是這是沒有效果的。執(zhí)行$("a").click()時(shí),會(huì)打印輸出,但是不會(huì)執(zhí)行下載操作。相似問題stackoverflow
失效原因:用juery的click方法會(huì)忽略掉a標(biāo)簽的href屬性,不會(huì)執(zhí)行默認(rèn)的操作(下載文件),而是去執(zhí)行綁定的click事件。
1.2 解決辦法1
- 利用js原生的click()方法
$("a")[0].click(); // 或者$("a").get(0).click();等等
1.3 解決辦法2
- 利用事件冒泡的方式,但是這要修改頁(yè)面html結(jié)構(gòu)
<a href="../img/img.jpg" download="img">download-img<span></span></a>
$("span").click(function () {
console.log("span click");
});
$("span").click();