Отключение ссылки на стороне клиента - PullRequest
0 голосов
/ 21 марта 2019

У меня есть кнопка, которая при нажатии скроет все ссылки на всей странице.

<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 голосов
/ 21 марта 2019

Нет отключенного атрибута для гиперссылок.Если вы не хотите, чтобы что-то связывалось, вам придется удалить его href или заменить атрибут href на data-href, если вы захотите снова активировать его, а затем заменить его атрибутом href.

0 голосов
/ 21 марта 2019

Я не уверен, что вы подразумеваете под переключателем. Может быть, вы можете использовать радио-кнопки?

Чтобы ответить на второй вопрос, вы можете использовать стиль CSS pointer-events, чтобы сделать ссылку недоступной для клика.

.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);

...