新浪微博中@功能的实现
实现该功能大致需要三步
第一步:定位输入框中的光标的top和left属性
IE中很容易实现。直接调用document.selection.createRange()即可
if (document.selection) {
elem.focus();
var Sel = document.selection.createRange();
return {
left: Sel.boundingLeft,
top: Sel.boundingTop,
bottom: Sel.boundingTop + Sel.boundingHeight
};
}
FF中却不容易。对于firefox之类的浏览器则通过模拟来实现,如下图所示。首先通过拷贝输入区域的样式到一个div层(clone层,position设置为absoulte),然后在此clone层之中的text子层添加光标之前的字符,并在text子层之后添加focus层,focus层中包含字符“|”来模拟光标,进而通过获取focus层的偏移量即可获得文本光标的像素坐标位置
第二步:设计弹出框的样式,这一步很简单直接参考新浪微博即可
第三步:设计鼠标、键盘事件(这里我们以向下键盘事件为例)
$("#"+elementName).keydown(function(ev){If(ev.keyCode == 40){..... //进行样式的渲染return false; //阻止事件的冒泡和键盘事件的默认行为
}
});
新浪微博中@功能的实现相关推荐
- mysql 关注 表设计_mysql - 新浪微博中的关注功能是如何设计表结构的?
问 题 新浪微博中,假如a关注了200个用户,300个用户关注了a,点解的时候会看到所有关注a或者a关注的用户,这种表结构是如何实现的? 解决方案 个人简单猜测,如有雷同,纯属巧合!有错误请指正! u ...
- android 分享到微博客户端,Android APP集成新浪微博分享功能
本文为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下 直接导入weibosdkcore.jar:适用于只需要授权.分享.网络请求框架功能的项目. 无论使用哪一种方式,都需要先将demo中li ...
- 极简主义_网页设计中功能极简主义的真实性要少得多
极简主义 Written by Jessica Bennett 由杰西卡·贝内特 ( Jessica Bennett)撰写 介绍 (Introduction) "Less is more&q ...
- 可能是目前轻量级弹幕控件中功能最强大的一款
本项目是一个开源的弹幕控件库,能够支持多种样式弹幕,弹幕点击监听,弹幕分区域显示,自定义移动速度等功能,项目原理是通过自定义ViewGroup.可能是目前轻量级弹幕控件中功能最强大的一款了. Gith ...
- js实现QQ、微信、新浪微博分享功能
使用js实现QQ.微信.新浪微博分享功能. 微信分享需要手机扫描二维码,需要对url进行编码.在https协议下,扫描二维码时,浏览器打不开可能是没有安全证书导致的. js代码: 1 var shar ...
- mysql 关注 表设计_新浪微博中的关注功能是如何设计表结构的?
个人简单猜测,如有雷同,纯属巧合!有错误请指正! user_relation - 用户关系表 user_id - 用户ID follower_id - 被关注者用户ID relation_type - ...
- 友盟的微信登录,QQ,新浪微博登录功能和分享功能
在这里我用的是友盟的登录,需要的请参考本文,直接撸代码, 提示:微信登录在一段时间内,只授权一次(只能调起一次登录页面),除非更换用户,才可以再调起登录页面. 0.本文需要导入jar包导完后鼠标右键A ...
- 两国的“微”与“博”——Twitter与新浪微博的功能差异化探究
科技是一把切割刀,刀锋所及,无论是时间.生活.情感抑或思维.都成为碎片化的存在.微博.Twitter迎合着人们碎片化的需求,在夹缝中寻找到了生存的契机.然而微博在中国与Twitter在美国,各自的生态 ...
- Redis在新浪微博中的应用
Redis简介 1. 支持5种数据结构 支持strings, hashes, lists, sets, sorted sets. string是很好的存储方式,用来做计数存储.sets用于建立索引库非 ...
最新文章
- 在Putty或mRemote下输入和显示中文
- SPI FLASH 分区情况
- python的深造方向_自动化深造方向有哪些?
- python动态柱状图_Python+matplotlib绘制动态更新的柱状图
- php批量添加excel数据库表,php 把excel批量导入到数据库代码
- 《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“信号量”
- Python 访问限制 private public
- Django+Bootstrap+Mysql 搭建个人博客(一)
- 三星 c5 pro android 7,三星C5 Pro安卓8.0系统内测开启
- 如何搜索视频和字幕?
- 智能控制器在风机及水泵中的应用
- 广州传智播客.net一期训练营学习感悟(一)求学之路
- 《读书是一辈子的事》上篇 认识自己
- Javaweb基础-servlet应用1
- 怎么修改云服务器数据库权限设置,怎么修改云服务器数据库权限
- 利用ffmepg下载在线视频文件
- 从零开始的计算机学习
- ​ 谁说 14 英寸没有好屏幕 — MateBook 14 评测
- 利用python进行体重指数计算
- [工作效率提升]焦虑性失眠的应对方法
热门文章
- Phonegap之ios对iPhone6和Plus的闪屏适配 -- xmTan
- 抖音上用计算机表白,抖音最火表白句子
- c语言给数组赋值 报错,请教为什么给数组赋值会报错
- 腾讯出行在微信内测试打车功能;​微软Teams全球宕机数小时后恢复正常;iOS 15.6 修复显示储存空间已满问题|极客头条...
- 抖音修改昵称服务器升级,抖音修改昵称已达上限,抖音昵称一天可以改多少次...
- Vivo 华为设备 AudioManager做了什么
- i5-10400H怎么样?相当于什么水平
- xlrd API中文文档
- 监控摄像机选型攻略之技术类型选用
- Unity借助Eclipse导Jar包接入QQ登录SDK