Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2022, 17:27
Новичок на форуме
Отправить личное сообщение для cupafupi Посмотреть профиль Найти все сообщения от cupafupi
 
Регистрация: 04.03.2022
Сообщений: 1

MouseEvent на canvas, перекрытый div?
Для упрощения: есть два компонента, div и canvas. Оба занимают весь экран, div (с элементами управления) поверх canvas-а (с помощью z-index, div НЕ родитель canvas). Можно ли как-то передавать MouseEvent (клики и т.д.) на canvas?

Зачем это нужно: поверх канваса находятся элементы управления, получается что сам canvas занимает весь экран, а когда часть рисунка попадает под элементы управления - они просто перекрываются. Но проблема, что в том месте где поверх canvas'a есть div - он не отлавливает ивенты и им нельзя управлять, соответственно
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2022, 19:09
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Только убирать div на весь экран, делать кучу отдельных элементов управления и каждый отдельно позиционировать поверх canvas.
Тогда клики на canvas будет обрабатывать он, а каждый элемент управления свои события.
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2022, 21:31
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

>> Можно ли как-то передавать MouseEvent (клики и т.д.) на canvas?

В принципе такое возможно.
На странице браузера используется "механизм всплытия событий" это когда событие вызывается по очереди у всех вышестоящих элементов DOM дерева. Так же существуют способы прервать всплытие события.

Просто тебе нужно ознакомится с механикой работы событий в браузере и делегировать захват событий вышестоящему узлу DOM чтобы получать события от div и canvas в одном месте.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По клику на кнопку открыть сразу несколько DIV BOOSOORMAN Элементы интерфейса 3 11.03.2020 17:35
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Показать div при наведении / jQuery updaite Элементы интерфейса 4 28.07.2014 03:45
js игра. div vs canvas Livace Общие вопросы Javascript 4 11.02.2014 11:17
Проблемы с div обновлённым через (#id).load erlcat jQuery 4 03.03.2013 03:41