распространять события мыши на скрытые элементы - PullRequest
9 голосов
/ 28 июля 2010

Есть ли в JavaScript способ распространять события на элементы, скрытые другим? Потому что у меня есть элемент с position: absolute, который затемняет элементы, которые не являются его родительскими элементами, но я бы хотел, чтобы события click, mousemove и mousout проходили через этот элемент. Решение может быть специфичным для Mozilla Firefox, потому что я буду использовать его в дополнении Firefox.

Ответы [ 2 ]

17 голосов
/ 29 июля 2010

Может быть, свойство css pointer-events:none; - это то, что вы ищете.Например, он используется на домашней странице твиттера, поэтому вы можете нажимать на текст в «трендовых темах», даже когда он накладывается на затухающую графику.

1 голос
/ 28 июля 2010

Вы можете использовать getElementsByTagName ("*"), чтобы получить все элементы на странице.Используя функцию find-world-position, вы можете получить положение элемента относительно верхнего левого угла страницы.Теперь вы можете использовать offsetWidth, offsetHeight и положение мыши [для браузера, lol], чтобы проверить, находится ли курсор над вашим элементом.

Если курсор находится над вашим элементом, запустите событие.

Вышеуказанная функция должна быть присоединена к window.onmousedown / onmouseup / onmousemove / что угодно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...