Я столкнулся с странным поведением CSS отношений между CSS pointer-events
и cursor
правилами в Firefox. Когда я устанавливаю элемент cursor
на любое значение, отличное от auto
(скажем, wait
), тип курсора изменяется соответственно, как и ожидалось. Однако, когда я также добавляю pointer-events: none
к одному и тому же элементу, курсор находится от reset до auto
. То же самое происходит, если я использую cursor: wait !important
. Те же правила корректно работают в Chromium и IE (!).
В начале я подумал, что это может быть ожидаемое поведение, когда pointer-events: none
установлен, но в соответствии с MDN раздел none
:
Элемент никогда не является объектом событий мыши; однако события мыши могут нацеливаться на его элементы-потомки, если у этих потомков есть указатели-события, установленные на какое-то другое значение. В этих обстоятельствах события мыши инициируют прослушиватели событий на этом родительском элементе по мере необходимости на пути к/из потомка во время фаз захвата/пузырька события.
Похоже, что события Javascript, а не события CSS не будут распространяться.
Вопрос: есть ли способ использовать как pointer-events: none
, так и cursor: wait
для одного и того же элемента в Firefox? Кроме того, я прав насчет интерпретации событий Javascript/CSS в отношении упомянутой выдержки?
Если это имеет значение, я использую Firefox 31 на Ubuntu 64bit
Здесь fiddle. В этом случае я добавляю правила динамически, но то же самое происходит при использовании только CSS. Сценарий, о котором я говорю, это Change cursor to wait --> Disable pointer events