Heim  >  Artikel  >  Web-Frontend  >  Wie erkennt man Wortklicks im Text in Javascript ohne Klassenanalyse?

Wie erkennt man Wortklicks im Text in Javascript ohne Klassenanalyse?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 09:35:03795Durchsuche

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

Wortklicks im Text ohne Klassenanalyse erkennen

In Javascript kann das genaue Erkennen von Wortklicks in einem Text eine Herausforderung sein. Ein gängiger, aber ineffizienter Ansatz besteht darin, das gesamte HTML-Dokument einer Klassenanalyse zu unterziehen und dabei Elemente um jedes Wort und Verwendung von jQuery zum Verfolgen von Klicks auf diese Bereiche.

Jedoch ist jetzt eine verfeinerte Lösung verfügbar:

Verwenden der Fensterauswahl-API

Die Fensterauswahl-API bietet eine Möglichkeit, den aktuell ausgewählten Text abzurufen. Mithilfe dieser API können wir einen Klickerkennungsmechanismus implementieren, ohne dass eine umfangreiche HTML-Analyse erforderlich ist.

Hier ist ein Javascript-Snippet:

<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>

In diesem Snippet verwenden wir zur Aktivierung einen Klick-Listener die Auswahl-API. Durch die Analyse der Start- und Endpositionen der Auswahl können wir das angeklickte Wort extrahieren.

Überlegungen zur Browser-API

Diese Lösung ist mit Webkit, Mozilla und IE9 kompatibel . Wenn Sie beabsichtigen, es als Browsererweiterung zu verwenden, stellen Sie sicher, dass die zugrunde liegenden APIs in Ihren Zielbrowsern unterstützt werden.

Alternative hervorheben

Als Alternative sollten Sie die Verwendung von in Betracht ziehen Die Texthervorhebungsfunktion anstelle des Klickens bietet möglicherweise eine einfachere Benutzererfahrung.

Das obige ist der detaillierte Inhalt vonWie erkennt man Wortklicks im Text in Javascript ohne Klassenanalyse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn