禁用客户端链接

时间:2019-03-21 07:12:54

标签: javascript html asp.net-ajax

我有一个按钮,单击该按钮将隐藏整个页面中的所有链接。

<input type="button" class="switch" value="switch" isValue="0" />

其脚本为:

 <script>
    $(document).on('click', '.switch', function () {
        var v = $(".switch").attr("isValue");
        if (v == 1) {
            $(".switch").attr("isValue", "0");
            $(".dim").show();
        }
        else {
            $(".switch").attr("isValue", "1");
            $(".dim").hide();
        }
    });
</script>

问题:

  1. 我需要一个开关来隐藏所有链接
  2. 我需要我的链接看起来像被禁用而不是隐藏。

我需要什么:

  1. 如何替换按钮使其成为开关?
  2. 因为每当我单击按钮时,它都会隐藏页面中的所有链接,对吗?我可以只使用css吗,这样看来它只是被禁用而不是隐藏,因为禁用将无法在链接上工作。

我不希望链接被隐藏,而只是被禁用。

2 个答案:

答案 0 :(得分:0)

我不确定您说的是什么意思。也许您可以使用单选按钮?

要回答第二个问题,可以使用pointer-events CSS样式使链接不可点击。

.dim.disabled {
    pointer-events: none;
}

那么JS将是:

$(document).on('click', '.switch', function () {
    var v = $(".switch").attr("isValue");
    if (v == 1) {
        $(".switch").attr("isValue", "0");
        $(".dim").removeClass("disabled");
    }
    else {
        $(".switch").attr("isValue", "1");
        $(".dim").addClass("disabled");
    }
});

您也不应创建诸如isValue之类的自定义属性。如果您需要在元素中存储自定义数据,请使用.data()。因此$(".switch").attr("isValue", "1")变成$(".switch").data("isValue", 1);

答案 1 :(得分:0)

没有超链接的禁用属性。如果您不希望链接某些东西,那么当您想再次激活它时,需要删除其href或将href替换为data-href属性,然后将其替换为href属性。