在ajax调用之后,Jquery触发器单击

时间:2015-01-15 19:27:11

标签: javascript c# jquery ajax asp.net-mvc

我有一个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&amp; amp填充超链接。自动点击它。我尝试使用Process.Start()&amp; Response.Redirect(),但都失败了,所以现在我在这里试试运气。它会在我的锚标记上填充href标记,但不会单击它。

2 个答案:

答案 0 :(得分:0)

看起来可能是Jquery how to trigger click event on href element的副本。

Jquery触发器仅触发处理程序而不是锚标记的本机行为。而不是使用jquery.trigger,使用原生DOM&#34;点击&#34;代替。

更改此行:

$("#hypSendEmail").trigger("click");

改为:

$("#hypSendEmail")[0].click();

希望有所帮助!

答案 1 :(得分:0)

这要归功于Alexander&amp;拉格纳评论:

window.location.href = obj.MessageLink;