Добавить свойство курсора CSS при использовании "pointer-events: none"

Я пытаюсь отключить определенную ссылку и применить стиль курсора, но этот cursor: text; командной cursor: text; CSS cursor: text; не повлияет. Курсор всегда по умолчанию. Я использую последнюю версию Firefox.

CSS:

pointer-events: none !important;
cursor: text;
color: Blue;

Ответы

Ответ 1

Использование pointer-events: none не отключит все взаимодействия с этим элементом мыши. Если вы хотите изменить свойство cursor, вам придется применить изменения к родительскому элементу. Вы можете связать ссылку с элементом и добавить к ней свойство cursor.

Пример здесь

HTML

<span class="wrapper">
    <a href="#">Some Link</a>
</span>

CSS

.wrapper {
    position: relative;
    cursor: text;  /* This is used */
}
.wrapper a {
    pointer-events: none;
}

Однако есть несколько несоответствий браузеров. Чтобы сделать эту работу в IE11, кажется, что вам нужен псевдоэлемент. Псевдоэлемент также позволяет вам выбирать текст в FF. Как ни странно, вы можете выбрать текст в Chrome без него.

Обновленный пример

.wrapper:after {
    content: '';
    position: absolute;
    width: 100%; height: 100%;
    top: 0; left: 0;
}

Ответ 2

Указав pointer-events:none них активно не объявляет, что между элементом и курсором нет взаимодействия с мышью. Поэтому он не может иметь указатель - он невидим для всех поведения мыши.

Доказательство можно найти здесь.

Ответ 3

Удалить pointer-events: none !important; , Отключить ссылку с помощью JavaScript:

anchorElement.onclick = function(){
  return false;
}

Если вы не знаете, JavaScript anchorElement - это сам узел или элемент. Наиболее распространенным способом получения элемента является использование атрибута HTML id. Скажем, у нас есть:

<a id='whatever' href='#'>Text Here</a>

Код может быть:

document.getElementById('whatever').onclick = function(){
  return false;
}

Существует несколько других способов получения узлов.

Ответ 4

Это довольно давно с момента первоначального вопроса, но это мое решение без каких-либо элементов переноса и курсора без событий указателя:

<!-- Add tabindex="-1" so that element cannot be reached by keyboard -->
<a tabindex="-1" href="url" class="disabled">Disabled link</a>

CSS:

/* Adding cursor just works: */
.disabled {
    cursor: not-allowed;
}

/* Makes link non-clickable: */
.disabled:active {
    pointer-events: none;
}