首页 新闻 会员 周边 捐助

类似新浪微博的编辑器 输入@就出现可选的下拉框 是怎么实现的

0
悬赏园豆:10 [已解决问题] 解决于 2011-05-14 08:46

在一个编辑区域里面,输入特定的字符,就能弹出类似自动完成这样的功能,感觉这个比较有用,不知道是怎么实现的,纯js判断输入 还是有其他现成的解决方案

问题补充: 不是自动完成功能了。是写微博的那个地方,比如输入 @a 就会跳出下面一大堆的相关微博id 我截图发到我的博客里面去了,可以看看 这里
帝之晓的主页 帝之晓 | 初学一级 | 园豆:98
提问于:2011-04-09 16:59
< >
分享
最佳答案
0

是纯JS实现的。

这里是我搜索到的,可以借鉴:http://www.huomaw.com/javascript/201011/16766.html

收获园豆:10
Icebird | 菜鸟二级 |园豆:220 | 2011-05-13 14:13
其他回答(1)
0

不知道你说的是不是新浪微博登录的时候,输入电子邮件的那个input 或者 叫 textbox ,更或者是输入框也好,在编辑器里我倒没发现有这个功能.

首先说一下这个功能正式的称呼应该叫 "autocomplete",中文叫 "自动完成" 吧,呵呵 猜测!~~~

下面说实现方法.

1)纯原生态js实现. (我只说一下思路哈,原来封装过控件,挺费劲的)

  实现步骤:(1)文本框获取焦点的时候,在onchange (就是文本改动触发的事件)事件里,你js判断有没有@ 如果有的话就在文本框下面(或者你想要的位置,用css控制div就可以),弹出一个div,里面包含所有的常用的网站的邮箱域名,选择后,把div隐藏掉就可以了.

2)其他js框架的实现,你可以去www.google.com 记住是英文版本的, 去搜索 autocomplete,个人比较喜欢JQuery,所以你可以用关键字 "JQuery autocomplete" 来搜索.当然找个好点的插件是最好的解决之道了.

3)如果你正在使用asp.net开发,可以使用ajax control toolkit 里的一个autocomplete 控件,也挺方便.当然上述方法仍然适用.

最后,为了方便给你上几个地址吧.省你事了.

http://docs.jquery.com/UI/Autocomplete

http://www.pengoworks.com/workshop/jquery/autocomplete.htm

http://choosedaily.com/1308/15-jquery-autocomplete-plugins-tutorials/

DYStudio.Net | 园豆:1747 (小虾三级) | 2011-04-09 17:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册