- 时间:2020-05-02 05:17 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:js完美实现@提到好友特效(兼容各大浏览器)
[b]要求[/b]
1.输入@时,弹出匹配的好友菜单
2.光标进入包含有"@好友"的标签时,弹出菜单
3.按backspace删除时,如果光标前面是包含有"@好友"的标签,弹出菜单
4.兼容ie,firefox.
[b]具体做法[/b]
针对要求一,很自然的会想到对输入框绑定事件。这里要绑定mousedown,而不是mouseup.因为如果是mouseup的话,用event.preventDefault()是无法阻止键盘输入@的。另外,这里在事件回调中用return false也是起不了作用的。
绑定mousedown事件后,就要插入自定义的包含有"@好友"的标签了。新浪微博的输入框是用textarea做的,无法知道其内部是怎样处理的,只好看百度贴吧了。
[img]http://files.jb51.net/file_images/article/201503/201503160844071.png[/img]
可以看到,贴吧是插入了<span class='at'></span>标签。这应该是方便后台用正则表达式匹配。
具体的
[url=http://files.cnblogs.com/files/TheViper/at_example.zip]下载[/url]
以上就是本文所述的全部内容了,希望对大家了解javascript能够有所帮助。