Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengesan Klik Perkataan Dalam Teks dalam Javascript Tanpa Penghuraian Kelas?

Bagaimana untuk Mengesan Klik Perkataan Dalam Teks dalam Javascript Tanpa Penghuraian Kelas?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 09:35:03894semak imbas

How to Detect Word Clicks Within Text in Javascript Without Class Parsing?

Kesan Klik Perkataan Dalam Teks Tanpa Penghuraian Kelas

Dalam Javascript, mengesan klik perkataan dengan tepat dalam teks boleh menjadi mencabar. Pendekatan biasa tetapi tidak cekap melibatkan penghuraian kelas keseluruhan dokumen HTML, menambah elemen di sekeliling setiap perkataan dan menggunakan jQuery untuk menjejak klik pada rentang ini.

Walau bagaimanapun, penyelesaian yang lebih halus kini tersedia:

Menggunakan API Pemilihan Tetingkap

API Pemilihan Tetingkap menyediakan cara untuk mendapatkan semula teks yang dipilih pada masa ini. Dengan memanfaatkan API ini, kami boleh melaksanakan mekanisme pengesanan klik tanpa memerlukan penghuraian HTML yang meluas.

Berikut ialah coretan Javascript:

<code class="javascript">$(".clickable").click(function(e) {
  s = window.getSelection();
  var range = s.getRangeAt(0);
  var node = s.anchorNode;

  // Find starting point
  while (range.toString().indexOf(" ") != 0) {
    range.setStart(node, range.startOffset - 1);
  }
  range.setStart(node, range.startOffset + 1);

  // Find ending point
  do {
    range.setEnd(node, range.endOffset + 1);
  } while (
    range.toString().indexOf(" ") == -1 &&
    range.toString().trim() != ""
  );

  // Alert result
  var str = range.toString().trim();
  alert(str);
});</code>

Dalam coretan ini, kami menggunakan pendengar klik untuk mengaktifkan API pemilihan. Dengan menganalisis kedudukan mula dan akhir pemilihan, kami boleh mengekstrak perkataan yang diklik.

Pertimbangan API Pelayar

Penyelesaian ini serasi dengan Webkit, Mozilla dan IE9 . Jika anda berhasrat untuk menggunakannya sebagai sambungan penyemak imbas, pastikan bahawa API asas disokong dalam penyemak imbas sasaran anda.

Alternatif Serlahkan

Sebagai alternatif, mempertimbangkan untuk menggunakan ciri penyerlahan teks dan bukannya mengklik mungkin memberikan pengalaman pengguna yang lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Klik Perkataan Dalam Teks dalam Javascript Tanpa Penghuraian Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn