Как я могу изменить курсор для отключенных <button>или</button> <a>в Bootstrap 4?</a>
Как я могу использовать курсор: не разрешенный на кнопках или? Я попробовал следующее:
.not-allowed {
pointer-events: auto! important;
cursor: not-allowed! important;
}
Моя кнопка выглядит так:
<a class="btn btn-primary btn-lg disabled not-allowed" href="#" onclick="location.href='https://www.example.com'; return false;" role="button">Test</a>
Без активации указателей-событий курсор не может быть изменен. Но если указатель события: автоматический, кнопка или их кликабельны. Если указатель-события: ни один курсор не изменяется.
Пожалуйста, помоги мне, я отчаиваюсь!
Ответы
Ответ 1
На самом деле это ошибка в Bootstrap
Предлагаемые решения:
button:disabled {
cursor: not-allowed;
pointer-events: all !important;
}
или если у вас есть такая структура:
<li class="disabled">
<a href="#">My Link</a>
</li>
тогда
li.disabled {
cursor: not-allowed;
}
li.disabled a {
pointer-events: none;
}
Ответ 2
Использовать этот:
.not-allowed {
cursor: not-allowed !important;
}
Ответ 3
use onclick="return false;"
.not-allowed{
cursor: not-allowed! important;
}
<a class="btn btn-primary btn-lg disabled not-allowed" onclick="return false;" href="https://www.example.com" role="button">Test</a>
Ответ 4
У вас есть несколько вариантов, но не все они равны.
Предпочтительно, оберните свой элемент div или span и установите курсор на оболочку и указатели-события на контенте. Таким образом, вы получаете все преимущества, не входя в JS.
Во-вторых, вы можете использовать disabled
атрибут на кнопке, что сделает ее так, что она не сработает. Вы можете затем установить курсор на отключенный элемент.
Наконец, но я не советую, использует JS для return false
. Несмотря на то, что это работает, мне это не нравится, потому что: событие click по-прежнему запускается (т.е. Нажатие по-прежнему возможно, но ссылка не выполняется), что означает, что вы также визуально думаете, что нажали кнопку.
.disabled-wrapper {
display: inline-block;
cursor: not-allowed;
}
.disabled-wrapper a,
.disabled-wrapper button {
pointer-events: none;
}
button[disabled] {
cursor: not-allowed;
}
a.disabled.js-test,
button.disabled.js-test {
cursor: not-allowed;
}
<div class="disabled-wrapper"><a class="btn btn-primary btn-lg disabled not-allowed" href="https://www.example.com" role="button">Test wrapper</a></div>
<button class="btn btn-primary btn-lg disabled not-allowed" href="https://www.example.com" role="button" disabled>Test disabled attribute</button>
<a class="btn btn-primary btn-lg disabled not-allowed js-test" href="https://www.example.com" role="button" onclick="return false">Test JS</a>
Ответ 5
Вы можете обернуть свою кнопку в промежуток, как показано ниже
<span>
<button> click me </button>
</span>
Теперь в css не разрешайте события указателя на кнопку и отключайте курсор для оболочки.
button {
pointer-events: none;
opacity: 0.7
}
span {
cursor: not-allowed;
}