站长资源网页制作

当div设置contentEditable=true时,重置其内容后无法光标定位

整理:jimmy2024/5/17浏览2
简介最近在做一评论功能,需要能够评论表情,那 contentEditable 这个属性就首当其冲了,结果,问题来了…首先 评论区 长这样: 当输入内容超过限制的时候,清空用户输入超过限制后的内容。 这个好说… 但是清空完了内容,光标居然跑到了最前面,这就很头疼了。在

最近在做一评论功能,需要能够评论表情,那 contentEditable 这个属性就首当其冲了,结果,问题来了…

首先 评论区 长这样:

当div设置contentEditable=true时,重置其内容后无法光标定位
 

当输入内容超过限制的时候,清空用户输入超过限制后的内容。
 

这个好说… 但是清空完了内容,光标居然跑到了最前面,这就很头疼了。

在经过各种搜索之后,找到了解决办法,不多说,上代码!

var _div = document.querySelector('.discuss_area');
var range = document.createRange();

range.selectNodeContents(_div);
range.collapse(false);

var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);

全部都是使用原生事件,因此不能使用jQuery对象。