繁体   English   中英

如何使用Java禁用和重新启用链接?

[英]How to disable and re-enable an link with Javascript?

有人可以向我解释我如何禁用链接(仅禁用,因为我必须重新启用该链接)。我尝试使用此document.getElementById("aadd").href = "Detail.aspx?using=add"; 但是当我动态加载列表元素时,我不能这样做。 因为那是我问你如何禁用链接,所以我不能使用它并重新启用它? 在此处输入图片说明

function changebuttonstate(thisbtn) {

        if (document.getElementById("add").disabled == true) {
            document.getElementById("add").disabled = false;
            document.getElementById("aadd").href = "Detail.aspx?using=add";
            var elems = document.getElementsByClassName("disabledbutton");
            for (var i = 0; i < elems.length; i++) {
                elems[i].disabled = false;
            }

        } else {
            document.getElementById("add").disabled = true;
            document.getElementById("aadd").href = "#";
            var elems = document.getElementsByClassName("disabledbutton");
            for (var i = 0; i < elems.length; i++) {
                elems[i].disabled = true;
            }
            thisbtn.disabled = false;
        }

        if (document.getElementById("refresh").disabled == true) {
            document.getElementById("refresh").disabled = false;
            document.getElementById("arefresh").href = "";
            var elems = document.getElementsByClassName("disabledbutton");
            for (var i = 0; i < elems.length; i++) {
                elems[i].disabled = false;
            }
        } else {
            document.getElementById("refresh").disabled = true;
            document.getElementById("arefresh").href = "#";
            var elems = document.getElementsByClassName("disabledbutton");
            for (var i = 0; i < elems.length; i++) {
                elems[i].disabled = true;
            }
            thisbtn.disabled = false;

        }
    }

<a href="Detail.aspx?using=edit&id={{x.ID}}"><input type="button" id="Edit" value="Edit" class="btn btn-primary disabledbutton"/></a>
                <button type="button" class="btn btn-danger disabledbutton" data-toggle="collapse" data-target="#demo{{x.ID}}" onclick="changebuttonstate(this)">Delete</button>
                <div id="demo{{x.ID}}" class="collapse disabledbutton">
                  <div class="well">
                    <p>Are you sure?</p>
                      <a href="Delete.aspx?id={{x.ID}}"><input type="button" id="Button1" class="btn btn-danger"  value="Delete"/></a>
                  </div>
                </div>

<a href="Detail.aspx?using=add" id="aadd"><input type="button" id="add" value="Add"  class="btn btn-success"/></a>
        <a href="listview.aspx" id="arefresh"><input type="button" id="refresh" value="Refresh" class="btn btn-primary"/></a>

要禁用页面上的所有链接,可以使用以下代码:

document.body.addEventListener("click", function stopLinks(e){
    if (this.nodeName==="A"){
        e.preventDefault();
        return false;
    }
})

并重新启用它们:

document.body.removeEventListener("click", stopLinks);

如果只想禁用特定元素内的链接,请用适当的元素替换document.body

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM