您的位置:首页 > 其它

文章标题

2015-08-07 09:42 183 查看
最近在做手机web项目,遇到一个问题:不同浏览器对input里的光标位置解析的不一样,有些浏览器对光标位置的控制是一直在内容最后面,比如小米、有些是输入一个内容,光标向后退一位,比如QQ、UC浏览器。

这样就存在一个问题,如果是通过js操作input内容,比如银行卡号四位一空格格式化,在QQ、UC浏览器上在输入时就会光标不在最后面,这会给用户体验带来极大的不利。

网上查了些资料:

var r = obj.createTextRange();
r.collapse(false);
r.select();


楼主试了很多类似的方法,但是都没有起作用,因为不同浏览器对这些方法的支持也兼容的不是很好吧。试了很多次都没用,就在楼主将要放弃的时候,突然一个灵感涌上心头:

element.context.value = "";
element.context.value = temp;


只要先将input的value置空,然后再将格式化后的值赋上去就行了!

亲测了十来个手机浏览器,这种方法都很有效!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: