当我调用" " element " " click()"时,如何防止单

How can I prevent a click event from firing when I call "<element>.click()"? Or what's a better way to solve this issue?

本文关键字:quot 何防止 click 调用 element      更新时间:2023-09-26
$(function() {
    $(".universeLink").click(function (e) {
        e.preventDefault();
        var link = this;
        alert(link.id);
        $.ajax({
            type: 'GET',
            url: "@Url.Action("IsUniverseCached", "Universes")" + "?universeId=" + (link.id),
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function (returnedData) {
                if (returnedData === false) {
                    alert(returnedData);
                    $("#" + link.id).empty();
                    $("#" + link.id).html("<div class='"alert alert-warning'"><strong>Not cached</strong> &mdash; this data will take a while to arrive!</div>");
                }
                $("#" + link.id).click();
            },
            error: function () {
                alert("Error");
            }
        });
    });
});

我正在构建一些JQuery,以便在遵循原始请求之前发出请求。

success块的末尾,调用$("#" + link.id).click();并再次触发事件。我尝试了类似的(element).submit()的形式,和.submit()事件没有再次火,所以我认为我可以做同样的伎俩与.click()

这是HTML元素

<a id="10" href="/Universes/ViewUniverse?universeId=10&amp;regionId=8" class="universeLink">1</a>

(动态分配ID)

直接将浏览器重定向到新位置。例如,不使用.click,而是分配给window.location.href:

window.location.href = link.href;