ОК, так что я думаю, что есть 2 вещи: (1) ответ CSS3, который еще не получил широкого распространения, и (2) план резервного копирования Javascript для остальных. (не уверен, что делать с пользователями без JS в старых браузерах, которые не поддерживают часть CSS). Читайте дальше ...
Во-первых: используйте этот код CSS3, чтобы сделать верхний элемент «невидимым» для взаимодействия с мышью:
pointer-events: none;
Это еще не кросс-браузерная совместимость. Он работает только с элементами SVG и HTML в браузерах Gecko и Webkit, но только с элементами SVG в Opera, а не в IE.
За MDN:
Указатель-событие свойства CSS позволяет
авторы, чтобы контролировать ли или когда
элемент может быть целью мыши
событие. Это свойство используется для
указать, при каких обстоятельствах (если
любое) событие мыши должно пройти "через"
элемент и цель все, что есть
вместо этого "под" этим элементом.
Вот эта документация: https://developer.mozilla.org/en/css/pointer-events
Второе: используйте некоторые функции обнаружения JavaScript для тех браузеров, которые еще не поддерживают этот CSS. Вы должны будете бросить свой собственный, похожий на Modernizr , так как он еще не проверяет это (насколько я знаю). Идея состоит в том, что вы создаете элемент, применяете к нему CSS-события указателя, проверяете его, и если браузер поддерживает эту функцию, вы получите ожидаемый результат, в отличие от чего-то нулевого или неопределенного; затем уничтожить элемент. В любом случае, если у вас есть функция обнаружения объектов, вы можете использовать jQuery или аналогичный инструмент, чтобы присоединить слушателя к самому верхнему элементу и назначить щелчок по нему, чтобы перейти к чему-то еще. Проверьте jQuery и используйте функцию click () для получения дополнительной информации (недостаточно репутации, чтобы опубликовать ссылку, sry).
Если у меня будет время позже, я смогу быстро обработать jsFiddle. Надеюсь, это поможет.