使用另一次点击模拟下载链接的点击



adown是一个链接到一个文件下载
它在我的页面上工作
btndown是一个按钮来模仿adown点击
但简单-不工作-没有发生在btndown点击
任何帮助

$('#btndown').on('click', function(){
$('#adown').click();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id='adown' href='test.html' download>down</a>
<button id='btndown'>CLICK</button>

要触发对a元素的点击以使其启动download,您需要触发element对象上的事件,而不是jQuery对象:

$('#btndown').on('click', function() {
$('#adown')[0].click();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="adown" href="test.html" download>down</a>
<button id="btndown">CLICK</button>

请注意,我建议不要使用这种模式,因为它很容易被用户禁用JS和浏览器更新破坏。我建议将button更改为重复的<a download>元素,如果这是更改元素类型背后的原因,则根据需要进行样式化。

最新更新