今天在工作中做项目为了模拟微信评论,使用了h5的新属性contenteditable="true"
,使得div和p标签可以像input和textarea标签一样编辑。但是问题是文本获得焦点后,光标总是定位在文字的开头。查阅资料后,发现要使用range对象来解决。
模块化的代码如下:
po_Last: function(obj) {
if (window.getSelection) { //ie11 10 9 ff safari
obj.focus(); //解决ff不获取焦点无法定位问题
var range = window.getSelection(); //创建range
range.selectAllChildren(obj); //range 选择obj下所有子内容
range.collapseToEnd(); //光标移至最后
} else if (document.