По разным причинам мне нужно поставить (в основном) прозрачный <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>
Ответы:
Это можно сделать с помощью CSS
pointer-events
. Это свойство поддерживается в Firefox 3.6+, Chrome 2+, IE 11+ и Safari 4+. К сожалению, у меня нет знаний о кроссбраузерном обходном пути.источник
pointer-events: visible
похоже, он сделает именно то , что я хочу. Спасибо!Это можно сделать, повторно запустив событие после того, как вы временно скроете оверлей.
См. Первый ответ на этот вопрос: HTML "оверлей", который позволяет кликам переходить к элементам за ним.
источник
Вы можете сделать это, скрыв наложение следующим образом:
источник
Используйте этот jQuery
замените "div" на идентификатор или элемент
источник
Альтернативой для отключения всех событий (или цыпленка) в div является unbind () все события, которые по умолчанию прикреплены с тегами
или
источник
jquery
теперь используетсяoff()
в пользуunbind()
и удаляет только обработчики, не мешает div захватывать щелчок.