【发布时间】:2018-06-15 05:38:41
【问题描述】:
我创建了自己的自动完成功能,并且遇到了一个我想修复的错误。这是一个不完整句子的示例,我可能想自动完成最后一个单词:
let text = 'Hello there, I am her'
在我的功能中,用户点击ctrl + enter 并通过页面上显示的建议自动完成单词。在这种情况下,假设建议在“这里”。我的控制器也知道用户在哪里基于插入光标(所以我有索引)。
如果我像这样使用替换:
text.replace(word, suggestion);
(单词是“她”,建议是“这里”)它将替换第一次出现。显然,这个词在文本中的位置有无数种组合,如何在text 字符串中的某个索引处替换一个?我知道我可以通过一些混乱的if 条件来做到这一点,但是有没有一种优雅的方式来做到这一点?
(如果相关,我将为此使用 angular keydown/keyup)
编辑>>>>> 这不是链接问题的重复,因为在这种情况下,它们总是替换最后一次出现。如果我这样做了,那么我的程序将不支持用户返回他们的句子并尝试在那里自动完成一个新单词
【问题讨论】:
-
致 OP:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… let frags = text.split(' ');
标签: javascript angularjs keydown