gpt4 book ai didi

javascript - 我可以从 "input"事件中获取什么样的信息?有没有更好的方法来跟踪文本更改?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:37 25 4
gpt4 key购买 nike

我正在 try catch 对文本区域的更改并破译对文本所做的更改。

我这样做是为了在某种程度上复制“可标记”编辑器的行为,例如 Facebook 上的编辑器——您可以在其中“标记”您的 friend 或公共(public)页面。

我的计划是跟踪字符串输入中“标记词”的索引(一些对象包含有关“标记词”位置的数据)。因此,这意味着每当将单词/短语键入/粘贴到文本区域时,我想确切地知道文本中发生了什么变化以更新“标记词”的索引。

我遇到了一个似乎符合我需要的事件:

textAreaEl.bind("输入", function (e) {});

要继续进行此操作,我希望能够从“e”对象中找出文本中究竟发生了什么变化以触发此事件。

有没有办法破译此事件触发前后文本实际发生了什么?我试了一下,但空空如也。 (例如,在我从键盘输入内容后,它甚至是未定义的)。

此外,是否有更好的方法来跟踪较大字符串中的字符串?

最佳答案

您可以使用 string.indexOf() 找到一个字符串在另一个字符串中的位置(索引为 0)。

要查找文本区域或输入的完整文本输入,请使用 element.value

要检测文本区域何时被修改,您可以使用 addEventListener

如果您想通过更改内容的颜色等来修改文本区域的内容,那将更加困难,我什至建议使用带有 contenteditablediv 元素相反。

一些引用资料:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

编辑:更慢地阅读您的问题,看起来您正在做的是您正在尝试查看是否可以检测到所做的更改。然而,这样做的目的似乎是您想查看添加了哪些标签,因此这成为一个 x/y 误解。

您不需要确切地检查所做的更改,您需要做的就是在每次按下新键时再次检查输入(或者甚至只检查 # 键) .不需要明确找出之前和之后的区别。

关于javascript - 我可以从 "input"事件中获取什么样的信息?有没有更好的方法来跟踪文本更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083754/

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