CSS pointer-events = 'none' и/или XUL mousethrough = 'always' в веб-страницах для Firefox

Совсем недавно я спросил этот вопрос о том, как передать клики через элемент (например, полноэкранное наложение). Получил несколько хороших советов, но я все еще задавался вопросом, какие браузеры поддерживали это изначально...

Для тех, кто пропускает предыдущую ссылку, наложение чисто косметическое, должно быть наложено и должно игнорировать клики (все события мыши должны проходить прямо через него)...

До сих пор мне удалось добиться этой работы с браузерами WebKit.

Работы (Chrome и Safari 4): -
<image src='./images/75/75.overlay.blood.png' width='100%' height='100%' style='z-index: 3; position: absolute; top: 0; left: 0; pointer-events: none;' />

Известно, что Firefox поддерживает указатели-события с SVG (и другие элементы HTML в 3.6); проблема в том, что я не могу заставить это работать с SVG (например, xlink:href="overlay.24bit.8alpha.png").

Другой способ, которым я надеялся, что это может быть достигнуто, заключается в использовании XUL в HTML.

Я надеюсь использовать атрибут mousethrough="always" на наложении (<image> и т.д.). Не работает пока...

Как ни странно, Internet Explorer рассматривает прозрачные области PNG прозрачной прозрачности в виде прозрачных областей как "щелчок", что удобно.

Любые другие хорошие (или простые, но хриплые) способы достичь этого в Firefox (3+). Подумайте о наложении Flash с помощью wmode="transparent" (сбой).

Ответ 1

Попробуйте это решение jQuery: http://jsbin.com/uhuto

Работает в Firefox, Chrome, iPad Safari и IE8 как минимум. Единственная проблема, которую я видел, заключалась в том, что наложение не было полупрозрачным в IE, но я предполагаю, что что-то, что можно преодолеть.

Другое решение (используемое плагином Ext JS): http://www.vinylfox.com/forwarding-mouse-events-through-layers/ - использует Javascript для восстановления событий.