我有这样的链接:
<a id="downloadReport" href="">Download</a>
我想要做的是点击链接时是通过AJAX请求更新元素的href属性,然后触发click事件以跟随链接。这是Javascript代码:
$("#downloadReport").click(function(event)
{
console.log($(this).attr('href'));
if ($(this).attr('href') == "")
{
event.preventDefault();
var year = parseInt($("#reportYears").val());
if (year != 0)
{
$.post(
"/Trainings/getReport",
{data: year},
function(data)
{
$("#downloadReport").attr('href', data.trim());
$("#downloadReport").click();
});
}
}
return true;
});
通常行为应该是:
我得到一个空字符串,然后是outup中的有效链接,因此AJAX请求和click事件触发器有效,但第二个事件没有跟踪链接。 如果返回true,是否应该触发默认事件?
答案 0 :(得分:1)
$("#downloadReport").click();
将触发附加到它的jquery处理程序。您需要使用dom click事件才能重定向到新的href。像这样使用
$("#downloadReport")[0].click();