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;