Проблема с необновляемым курсором
Приветствую, эксперты. Нужен совет по простой с первого взгляда задаче:
Есть контейнер с отсутствующим курсором (cursor: none). Есть скрытый overlay в контейнере (display: none), который появляется при зажатии пробела. У overlay курсор есть (cursor: default). Ожидаемое поведение: При нахождении указателя мыши внутри контейнера (курсора нет) и при зажатии пробела должен появляться overlay под указателем мыши. Курсор соответственно тоже должен появляться, так как под указателем мыши находится overlay со стилем "cursor: default". Проблема: Курсор не появляется до тех пор, пока не сдвинешь мышь. Наблюдения:
Пример кода: <!DOCTYPE html> <head> <style> #container { width: 600px; height: 400px; outline: 2px dashed red; cursor: none; } #overlay { width: 100%; height: 100%; background: lightskyblue; cursor: default; } #overlay.hidden { display: none; } </style> <script> document.addEventListener('keydown', (e) => { if (!e.repeat && e.code === 'Space') { overlay.classList.remove('hidden'); e.preventDefault(); } }); document.addEventListener('keyup', (e) => { if (!e.repeat && e.code === 'Space') { overlay.classList.add('hidden'); e.preventDefault(); } }); </script> </head> <body> <div id="container"> <div id="overlay" class="hidden"></div> </div> </body> </html> |
Часовой пояс GMT +3, время: 21:09. |