获取光标的像素位置、索引位置

最近工作中有一个需求,需要根据用户的输入判断如果为“@”字符,需要在旁边弹出一个变量框,让用户选择变量。这里就遇到了两个问题:
1、获取光标的像素位置,这样才能判断输入框在哪个位置弹出
2、获取光标在输入框的索引位置,这样才能把变量放进输入框

1、对于第一个问题的解决其实很简单,JQuery有一款插件:jquery.caret——可以很方便的取得相对父元素的定位,或者相对浏览器窗口的定位。

// Get caret position 
$('#input').caret('position'); // => {left: 15, top: 30, height: 20} 

// Get caret offset 
$('#input').caret('offset'); // => {left: 300, top: 400, height: 20} 

2、对于dom元素,假如它的的ID为input:

var input = document.getElementById("input");
input.selectionStart

即可获得。IE低版本浏览器待验证。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值