Jquery 在 ajax 调用后触发点击
Jquery trigger click after ajax call
我有一个 ajax 调用,在它结束时我设置了 href
锚标记,我想点击它但我无法点击它。这是我的代码:
<div>
<a id="hypSendEmail">email</a>
</div>
$("body").on("click", "#btnPopulateEmails", function () {
var $form = $("#btnPopulateEmails").parents('form');
$.ajax({
type: "POST",
url: url,
async: true,
data: $form.serialize()
}).done(function (data) {
var json = data,
obj = JSON.parse(json);
if (obj.MessageType == "success") {
$("#hypSendEmail").attr('href', obj.MessageLink);
$("#hypSendEmail").trigger("click");
//$("#hypSendEmail").click();
$.colorbox.close();
}
if (obj.MessageContent != null) {
//do something else
}
});
return false;
});
我想我可能必须以某种方式使用 .on
函数来触发该点击?请帮忙。我的目的是用 mailto 填充超链接并自动单击它。我尝试使用 Process.Start()
和 Response.Redirect()
在代码 behing 上执行此操作,但都失败了,所以现在我在这里试试运气。它确实填充了我的锚标签上的 href
标签,但只是没有点击它。
看起来可能是 Jquery how to trigger click event on href element 的副本。
Jquery 触发器只是触发处理程序,而不是锚标记的本机行为。不要使用 jquery.trigger,而是使用原生的 DOM "click"。
更改此行:
$("#hypSendEmail").trigger("click");
改为:
$("#hypSendEmail")[0].click();
希望对您有所帮助!
感谢 Alexander & Ragnar 的评论:
window.location.href = obj.MessageLink;
我有一个 ajax 调用,在它结束时我设置了 href
锚标记,我想点击它但我无法点击它。这是我的代码:
<div>
<a id="hypSendEmail">email</a>
</div>
$("body").on("click", "#btnPopulateEmails", function () {
var $form = $("#btnPopulateEmails").parents('form');
$.ajax({
type: "POST",
url: url,
async: true,
data: $form.serialize()
}).done(function (data) {
var json = data,
obj = JSON.parse(json);
if (obj.MessageType == "success") {
$("#hypSendEmail").attr('href', obj.MessageLink);
$("#hypSendEmail").trigger("click");
//$("#hypSendEmail").click();
$.colorbox.close();
}
if (obj.MessageContent != null) {
//do something else
}
});
return false;
});
我想我可能必须以某种方式使用 .on
函数来触发该点击?请帮忙。我的目的是用 mailto 填充超链接并自动单击它。我尝试使用 Process.Start()
和 Response.Redirect()
在代码 behing 上执行此操作,但都失败了,所以现在我在这里试试运气。它确实填充了我的锚标签上的 href
标签,但只是没有点击它。
看起来可能是 Jquery how to trigger click event on href element 的副本。
Jquery 触发器只是触发处理程序,而不是锚标记的本机行为。不要使用 jquery.trigger,而是使用原生的 DOM "click"。
更改此行:
$("#hypSendEmail").trigger("click");
改为:
$("#hypSendEmail")[0].click();
希望对您有所帮助!
感谢 Alexander & Ragnar 的评论:
window.location.href = obj.MessageLink;