首页  >  文章  >  web前端  >  如何在 Javascript 中检测文本中的单词点击而不进行类解析?

如何在 Javascript 中检测文本中的单词点击而不进行类解析?

Linda Hamilton
Linda Hamilton原创
2024-10-27 09:35:03795浏览

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

在不进行类解析的情况下检测文本中的单词点击

在 Javascript 中,准确检测文本中的单词点击可能具有挑战性。一种常见但效率低下的方法涉及对整个 HTML 文档进行类解析,添加

但是,现在可以使用更精细的解决方案:

使用窗口选择 API

Window Selection API 提供了一种检索当前选定文本的方法。利用此 API,我们可以实现点击检测机制,而无需进行大量的 HTML 解析。

这是一个 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>

在此片段中,我们使用点击侦听器来激活选择API。通过分析选择的开始和结束位置,我们可以提取点击的单词。

浏览器 API 注意事项

此解决方案兼容 Webkit、Mozilla 和 IE9 。如果您打算将其用作浏览器扩展,请确保您的目标浏览器支持底层 API。

突出显示替代方案

作为替代方案,考虑使用文本突出显示功能而不是点击可能会提供更直接的用户体验。

以上是如何在 Javascript 中检测文本中的单词点击而不进行类解析?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn