【发布时间】:2011-06-27 00:15:08
【问题描述】:
我正在尝试在我正在构建的应用程序中实现@提及系统,但遇到了一些困难。
我最初的做法是这样的:
在 textarea/input 被@mentionified 之后创建两个隐藏输入。第一个将保存正在搜索的文本(用于自动完成)。第二个将以@[objectId:text] 的形式保存找到的提及。
这比人们想象的更难付诸实践。当有人按下 @ 符号时,我需要开始将后续文本输入自动完成。我只需要获取 @ 符号和光标之间的文本。如果他们将光标单击到输入的其他部分以编辑某些内容,然后返回编辑 @ 文本怎么办。该脚本需要足够智能,以便仅在用户更新 @ 符号之后的文本时才搜索自动完成。
对实现这一点的最佳方法的想法?有没有插件可以做到这一点?
【问题讨论】:
-
@Marc:查看 jQueryUI 自动完成的多值演示:jqueryui.com/demos/autocomplete/#multiple。这有帮助吗?
-
嗯,我以前玩过。我不认为它真的适用于这种情况,但无论如何谢谢。
-
@Marc:怎么不适用?想象一下使用
@而不是示例中的,。 -
因为它不允许我追求的用例。有了它,就无法让用户输入“这是一些文本@andrew 和@marc”。还有其他问题,但这是最大的问题。除非我在这里遗漏了一些东西,否则如果可以改编的话,我很乐意使用它,但我的直觉是,这将是一项比它价值更多的工作。
-
@Marc:你说得对——这是我不久前给出的答案,可能会让你入门 (stackoverflow.com/q/5972958/497356)。麻烦是回来编辑'@'之后的文本,但它至少可能会让你走上正确的轨道......