我有一个包含AJAX加载内容的网页。如果我点击"导出"内容使用PHP重新加载并生成HTML a-Element:
<a style=\"display:none;\" id=\"menue-export-link\" href=\"download/".$this->select->downloadcsv."\"></a>
现在我想自动开始下载,所以我编写了以下JavaScript代码来开始下载a-Element:
$(document).ready(function () {
$(document).on('load', '#menue-export-link', function() {
console.log('click export');
$('#menue-export-link').click();
$('#menue-export-link').remove();
});
});
但没有任何反应,有人有任何想法吗?
答案 0 :(得分:0)
$(document).on("click", "#menue-export-link", function() {
console.log("click export");
});
答案 1 :(得分:0)
当你的主页加载时你的js被触发,那时#menue-export-link
可能不存在。如果使用$.ajax
加载该链接,请将您的javascript放入success回调中,以确保在触发代码之前链接存在或正在加载。
答案 2 :(得分:0)
首先,html锚元素没有load
或onload
事件。
所以@The F说你必须在你的ajax成功回调中触发下载。记住在DOM中添加html后找到并触发它。有关jQuery ajax http://api.jquery.com/jquery.ajax/
现在触发下载部分。触发导致导航的click事件有点棘手。以下问题很好地回答了jQuery: how to trigger anchor link's click event和 How can I simulate an anchor click via jquery?