可编辑DIV的光标移动问题

um_yn 2015-08-10 11:09:14
可编辑的div使用focus时光标定位在第一位,怎么让其定位在最后,或者将光标移动到最后?
...全文
278 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
longli61990 2017-03-28
  • 打赏
  • 举报
回复
楼主怎么解决的,分享下
  • 打赏
  • 举报
回复
请问楼主是怎么解决的,我也遇到了同样的问题,求分享,谢谢。
um_yn 2015-08-11
  • 打赏
  • 举报
回复
引用 1 楼 datarrow 的回复:
提供一下思路,代码仅供参考,各浏览器可能有所不同。 关键是要获得当前文档所选区域,再定位光标,如IE 下: <div contenteditable=true id="divTest">AAAbbb</div> <script> var d = document.getElementById('divTest'); function moveEnd(obj){ obj.focus(); var len = obj.innerText.length; if (document.selection) { var sel = document.selection.createRange(); sel.moveStart('character',len); sel.collapse(); sel.select(); } else{ /* IE11 特殊处理 */ var sel = window.getSelection(); var range = document.createRange(); range.selectNodeContents(obj); range.collapse(false); sel.removeAllRanges(); sel.addRange(range); } } moveEnd(d); </script>
这样做不行的,试过,不过我已经解决了,3Q
datarrow 2015-08-10
  • 打赏
  • 举报
回复
提供一下思路,代码仅供参考,各浏览器可能有所不同。 关键是要获得当前文档所选区域,再定位光标,如IE 下: <div contenteditable=true id="divTest">AAAbbb</div> <script> var d = document.getElementById('divTest'); function moveEnd(obj){ obj.focus(); var len = obj.innerText.length; if (document.selection) { var sel = document.selection.createRange(); sel.moveStart('character',len); sel.collapse(); sel.select(); } else{ /* IE11 特殊处理 */ var sel = window.getSelection(); var range = document.createRange(); range.selectNodeContents(obj); range.collapse(false); sel.removeAllRanges(); sel.addRange(range); } } moveEnd(d); </script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧