Выбор элемента
Доброго времени. В другой ветке создал тему, где задача стоит в перемещении (dragabble) элемента, который перекрыт другим элементом.
То есть: имеем фон-подложку, имеем фигуру на нём (position:absolute;z-index:1). Фон dragabble. За пределами фигуры двигается, при нажатии на фигуре нет (т.к. фигура становится активна). Накрываем это дело дивом с абсолютным позиционированием и z-index:2. Ловим наведение мыши на див-обёртку и делаем фон активным, т.е. наводим на фигуру, но активен фон и можем его двигать. Вопрос: как сделать фон активным, чтобы при нажатии на фигуру цеплялось событие dragabble у фона? Нелепыми словами: чтобы нажатие на фигуру переадресовывалось на фон, как будто нажали не на фигуру, а на фон? |
В твоём случае нужно, чтобы клики по фигуре не "ловились" самой фигурой, а как бы проходили сквозь неё к фону. Для этого в CSS есть свойство pointer-events. Если у дива-фигуры написать:
.pointer-through { pointer-events: none; } — то мышь "проходит" сквозь него, и события (например dragabble) срабатывают на фоне. Если же нужно, чтобы иногда фигура была активна, а иногда нет, можно динамически менять это свойство через JS: figure.style.pointerEvents = 'none'; // фон теперь перехватывает события figure.style.pointerEvents = 'auto'; // фигура снова активна Так фон всегда сможет реагировать на drag, даже если поверх него есть фигура. |
Часовой пояс GMT +3, время: 00:07. |