Untuk berbagai alasan, saya perlu meletakkan (kebanyakan) transparan di <div>
atas beberapa teks. Namun, ini berarti teks tidak dapat diklik (mis., Untuk mengklik tautan atau memilihnya). Mungkinkah membuat div ini "tidak terlihat" untuk klik dan kejadian mouse lainnya?
Misalnya, overlay
penutup div mencakup teks, tetapi saya ingin dapat mengklik / memilih teks melalui 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>
Jawaban:
Itu bisa dilakukan dengan menggunakan CSS
pointer-events
. Properti ini didukung di Firefox 3.6+, Chrome 2+, IE 11+, dan Safari 4+. Sayangnya, saya tidak memiliki pengetahuan tentang solusi lintas-browser.sumber
pointer-events: visible
tampak seperti itu akan melakukan persis apa yang saya inginkan. Terima kasih!Ini dapat dilakukan dengan menghentikan acara setelah Anda menyembunyikan sementara overlay.
Lihat jawaban pertama untuk pertanyaan ini: "hamparan" HTML yang memungkinkan klik masuk ke elemen di belakangnya
sumber
Anda dapat melakukannya dengan menyembunyikan hamparan seperti ini:
sumber
Gunakan jQuery ini
ganti "div" dengan ID atau elemen
sumber
Alternatif untuk menonaktifkan semua event (atau chick) pada div adalah unbind () semua event yang dilampirkan dengan tag secara default
atau
sumber
jquery
sekarang menggunakanoff()
untuk mendukungunbind()
, dan hanya menghapus penangan, tidak mencegah div menangkap klik.