jQuery 对 ajax 加载的内容使用 .on(load)
jQuery use .on(load) with ajax loaded content
我有一个包含 AJAX 加载内容的网页。如果我点击 "export",内容会重新加载并使用 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();
});
});
但是没有任何反应,有人知道吗?
$(document).on("click", "#menue-export-link", function() {
console.log("click export");
});
当您的主页加载时,您的 js 会被触发,#menue-export-link
到那时可能还不存在。如果使用 $.ajax
加载 link,请将您的 javascript 放在 success 回调中,以确保您的 link 在触发您的代码之前存在或正在加载.
首先,html 锚点元素没有 load
或 onload
事件。
正如@The F 所说,您必须在 ajax 成功回调中触发下载。请记住在 DOM 中添加 html 后找到并触发它。有关 jQuery ajax http://api.jquery.com/jquery.ajax/
的更多信息
现在触发下载部分。触发导致导航的点击事件有点棘手。以下问题很好地回答了 jQuery: how to trigger anchor link's click event 和
How can I simulate an anchor click via jquery?
我有一个包含 AJAX 加载内容的网页。如果我点击 "export",内容会重新加载并使用 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();
});
});
但是没有任何反应,有人知道吗?
$(document).on("click", "#menue-export-link", function() {
console.log("click export");
});
当您的主页加载时,您的 js 会被触发,#menue-export-link
到那时可能还不存在。如果使用 $.ajax
加载 link,请将您的 javascript 放在 success 回调中,以确保您的 link 在触发您的代码之前存在或正在加载.
首先,html 锚点元素没有 load
或 onload
事件。
正如@The F 所说,您必须在 ajax 成功回调中触发下载。请记住在 DOM 中添加 html 后找到并触发它。有关 jQuery ajax http://api.jquery.com/jquery.ajax/
现在触发下载部分。触发导致导航的点击事件有点棘手。以下问题很好地回答了 jQuery: how to trigger anchor link's click event 和 How can I simulate an anchor click via jquery?