编辑以使我的实际目标更加清晰......
不确定这是否可行而不费力......
我有一个文字字段,我的用户将在其中输入评论。我想通过在@符号前面添加名称来启用标记用户。我已经整理了一些jQuery函数来轮询文本字段,等到输入@符号,然后使用正则表达式获取@符号后的文本并返回匹配用户列表。这一切都运作良好。
当用户选择其中一个结果时,我的问题出现了 - 我想用某种格式的文本替换文本字段中的“@username”。目标是提供 一种在视觉上区分文本字段中的用户名的方法,以便用户知道它已正确处理为标记。有没有办法在文本字段中使用任何类型的格式?或者是否有其他我可以使用的表单元素支持这个?
由于
更新 搜索周围,我发现了这个问题:jQuery textbox and html
建议作者使用div来显示丰富的HTML并使用隐藏的输入来捕获用户的文本。我想我可以使用AJAX来抓取文本字段上的每个击键并用内容更新div,但这是否需要很多开销?在这种情况下,任何其他解决方案都有意义吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
您对问题的更新是100%正确的。
捕获击键绝对是正确的方法,但是你实现它的方式将决定开销。
我建议您等到捕获一个@符号后跟X个字符然后再填充一个空格。阅读空间后,您可以发送AJAX请求。
除非用户输入了一百万个@标签,否则我无法想象它会有很多请求。
请记住,有些应用程序每秒轮询一次服务器几次,这样会少得多。
答案 2 :(得分:-1)
请尝试这样。
var text = '<a href="users/username">username</a>'
var o = $(text);