gpt4 book ai didi

html - 如何在javascript中获取所选单词的左单词

转载 作者:行者123 更新时间:2023-11-28 15:43:03 25 4
gpt4 key购买 nike

举个例子

姓名:阿卜杜勒纳伊姆

如果我们从上面选择 Naeem 以便从中获取 Abdul......

是否可以获取选中词的左边词

我试过了,但我还没有找到这个.....任何人都可以帮助我解决这个问题。

我发现了一些提示,它只获取选定的单词,但我需要它左侧的单词

Get the Highlighted/Selected text

例如,让我们考虑一个物体的重量是否为 30 N。现在我想选择 30,并从中获取单词 weights ??我怎样才能在 javascript 中做到这一点 –

最佳答案

这很重要,主要是因为文档的层次结构。

在非 IE 浏览器中,只要它在同一个元素中,就会得到前一个词的受限功能:

// get the selection
var sel = window.getSelection();
// get the element in which the selection is made, and the start and end position
var node = sel.anchorNode;
var from = sel.anchorOffset;
// let's see what's before the selection
var textBeforeWord = node.textContent.substring(0, from);
var match = textBeforeWord.match(/(\w+)\s+/);
var previousWord = match[1];

当您考虑到一个词可能是其元素中的第一个元素的可能性,或者一个选择可能跨元素时,当您需要导航 DOM 层次结构以寻找前一个元素时,这会变得更加复杂。这也很复杂,因为您需要完全不同地执行两次(因为 IE 的 API 完全不同)。

编辑 如果是 <textarea>元素,它变得更简单,因为您不必担心选择会溢出元素。对于 IE,您将不得不做一些体操,因为它不支持 selectionStart ,如所述here .

var node = document.getElementById('mytextarea');
var from = node.selectionStart;
var textBeforeWord = node.textContent.substring(0, from);
// the rest is the same as above

关于html - 如何在javascript中获取所选单词的左单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26859006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com