禁用客户端链接

问题描述 投票:0回答:2

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

<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,所以它似乎只是禁用,因为禁用不会隐藏在链接上。

我不希望我的链接被隐藏但只是禁用。

javascript html asp.net-ajax
2个回答
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);


0
投票

超链接没有禁用属性。如果您不想要链接某些内容,那么当您想要再次激活时,您需要删除其href或将href替换为data-href属性,然后使用href属性重新创建它。

© www.soinside.com 2019 - 2024. All rights reserved.