HTML / CSS: сделать div "невидимым" для кликов?
по разным причинам, мне нужно поставить (в основном) прозрачный <div>
над какой-то текст. Однако это означает, что текст нельзя щелкнуть (например, щелкнуть ссылки или выбрать его). Можно ли просто сделать этот div "невидимым" для кликов и других событий мыши?
например,overlay
div охватывает текст, но я хотел бы иметь возможность щелкнуть/выбрать текст через overlay
div:
<div id="container">
<p>Some text</p>
<div id="overlay" style="position: absolute; top: 0;
left: 0; width: 100%; height:100%">
... some content ...
</div>
</div>
5 ответов:
Это можно сделать с помощью CSS
pointer-events
. Это свойство поддерживается в Firefox 3.6+, Chrome 2+, IE 11+ и Safari 4+. К сожалению, у меня нет знания о кросс-браузер решение.#overlay { pointer-events: none; }
Это может быть сделано путем повторного обжига изделий из фаянса случае после того, как вы временно скрыть оверлей.
см. Первый ответ на этот вопрос: HTML "overlay", который позволяет кликам попадать в элементы за ним
вы можете сделать это, скрывая наложение следующим образом:
overlay.onclick = function(){ window.event.srcElement.style.visibility = "hidden"; var BottomElement = document.elementFromPoint((navigator.appName.substring(0,3) == "Net") ? e.clientX : window.event.x,(navigator.appName.substring(0,3) == "Net") ? e.clientY : window.event.y); window.event.srcElement.style.visibility = "visible"; BottomElement.click(); }