将单击事件触发到链接上的单击处理程序
Trigger a click event into a click handler on links
我有一个这样的链接:
<a id="downloadReport" href="">Download</a>
我想做的是,当链接被单击时,通过AJAX请求更新元素的href属性,然后触发单击事件来跟踪链接。下面是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;
});
所以正常情况下行为应该是:
- 链接被点击
- href被打印
- href is null ->输入if
- 默认点击事件被阻止 AJAX请求
- href已更新
- 点击事件触发
- href被打印
- href不为空
- 返回true ->链接应该跟在 后面
我得到一个空字符串,然后在输出一个有效的链接,所以AJAX请求和单击事件触发器工作,但链接没有遵循第二个事件。如果返回true,不应该触发默认事件吗?
$("#downloadReport").click();
将触发附加到它的jquery处理程序。你需要使用dom click事件来重定向到新的href。像这样使用
$("#downloadReport")[0].click();
相关文章:
- Selenium驱动程序不反映单击()后的页面更改
- 等待,直到使用Java在selenium网络驱动程序中手动单击登录按钮
- 在Node Webkit应用程序中从DOM单击按钮时运行批处理文件
- 绘图应用程序-单击工具更改光标
- 单击链接时如何将引导程序转盘旋转到特定位置
- 将参数传递给reactjs单击处理程序
- Metro 应用程序中的列表视图项目单击
- 引导程序在单击另一个下拉列表时关闭下拉列表
- 将处理程序附加到“a”标签上的单击事件,即使我不单击也会触发
- 检测单击子节点并发送槽事件处理程序
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 元素单击处理程序由一个神秘的函数取消设置
- GAS 单击事件处理程序导致 UI Web 应用中出现“意外错误”
- 在引导程序中单击关闭时隐藏模式
- 单击链接后显示加载程序
- 将单击处理程序附加到动态生成的锚标记
- 纯javascript的进度图像加载程序仅当用户单击提交html表单时
- 为什么在模糊事件处理程序中添加setTimeout会修复“;掩蔽”;另一个单击处理程序的
- Jquery'在'单击以查看引导程序模型对话框
- 单击html5svg应用程序中的rect