Apakah mungkin untuk mendapatkan teks yang disorot dalam paragraf situs web misalnya dengan menggunakan jQuery?
351
Apakah mungkin untuk mendapatkan teks yang disorot dalam paragraf situs web misalnya dengan menggunakan jQuery?
Jawaban:
Mendapatkan teks yang dipilih pengguna relatif sederhana. Tidak ada manfaat yang bisa diperoleh dengan melibatkan jQuery karena Anda perlu apa-apa selain
window
dandocument
benda-benda.Jika Anda tertarik pada implementasi yang juga akan menangani pilihan
<textarea>
dan<input>
elemen teks , Anda bisa menggunakan yang berikut ini. Karena sekarang 2016 saya menghilangkan kode yang diperlukan untuk dukungan IE <= 8 tetapi saya telah memposting hal-hal untuk itu di banyak tempat di SO.sumber
window.getSelection()
). Thedocument.selection.type
cek menguji bahwa seleksi adalah pilihan teks daripada pilihan kontrol. Di IE, pilihan kontrol adalah pilihan di dalam elemen yang dapat diedit yang mengandung satu atau lebih elemen (seperti gambar dan kontrol bentuk) dengan garis besar dan mengubah ukuran pegangan. Jika Anda memanggil.createRange()
pilihan semacam itu, Anda mendapatkanControlRange
lebih dari satuTextRange
, danControlRange
tidak memilikitext
properti.selectionStart
atauselectionEnd
dalam<input>
tipe elemen (seperti "angka") yang tidak mendukungnya (lihat jsfiddle.net/6zoposby/2 , misalnya). Saya meninggalkan cek untuk keberadaanselectionStart
sehingga kode tidak akan rusak di IE <= 8. Saya akui cek untukactiveElement
itu mungkin berlebihan sekarang. Saya menggunakanslice
karena lebih kuat (meskipun itu tidak berguna di sini) dan sedikit lebih pendek untuk mengetik daripadasubstring
.Dapatkan teks yang disorot dengan cara ini:
dan tentu saja perlakuan khusus untuk:
sumber
document.selection
dukungan telah dihapus di IE10 dan diganti denganwindow.getSelection
". Sumber: connect.microsoft.com/IE/feedback/details/795325/...Solusi ini berfungsi jika Anda menggunakan chrome (tidak dapat memverifikasi browser lain) dan jika teksnya berada di Elemen DOM yang sama:
sumber
Menggunakan
window.getSelection().toString()
.Anda dapat membaca lebih lanjut di developer.mozilla.org
sumber