代码之家  ›  专栏  ›  技术社区  ›  DMur

jQuery禁用锚标记引导按钮onClick

  •  0
  • DMur  · 技术社区  · 2 年前

    我想在单击时禁用我的引导按钮 使用Javascript,防止双击以避免DbContext线程问题。

    <a type="button" class="btn btn-success" id="BackBtn" asp-area="" asp-controller="PageStuff" asp-action="PageStuff" asp-route-culture="@CultureInfo.CurrentCulture.Name">@_loc[Model.BackButton]</a>
    

    这将按预期工作,并隐藏按钮:

    $("#BackBtn").on("click", function () {
        document.getElementById("BackBtn").style.display = "none";
    });
    

    确实如此 禁用该按钮,但在我的应用程序中的其他位置对其他元素有效:

    $("#BackBtn").on("click", function () {
        document.getElementById("BackBtn").disabled = true;
    });
    

    我也尝试过使用 document.getElementById("BackBtn").unbind("click"); 如前所述 here .

    还有这个 document.getElementById("BackBtn").prop("disabled", true);

    还有这个 $("#BackBtn").prop("disabled", "disabled");

    还有这个 $('BackBtn').prop("disabled", true);

    还有这个 document.getElementById("BackBtn").attr("disabled", "disabled");

    还有这个 $("#values:BackBtn").attr("disabled", true);

    还有这个 $("#BackBtn").attr("disabled", true);

    还有这个 $('BackBtn').attr('readonly', true);

    还有这个 [...document.querySelectorAll('BackBtn')].map(e => e.disabled = true);

    以及其他各种变化。

    有没有办法让按钮在点击时禁用? type=“button”的锚定标记是否存在“disabled”?我开始认为没有这样的财产。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Tushar Gupta    2 年前

    这个 disabled 属性仅在 button ,作为锚定标签,您可以使用 pointer-events: none;

    $("#BackBtn").on("click", function() {
      $(this).css('pointer-events', 'none')
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <a type="button" class="btn btn-success" id="BackBtn" asp-area="" asp-controller="PageStuff" asp-action="PageStuff" asp-route-culture="@CultureInfo.CurrentCulture.Name" href="#">Dsiable me</a>