有关使用DIV来实现HTML编辑器的问题,如何获取编辑框的selection对象?

aluzi 2010-02-25 05:50:48
我用DIV做了一个HTML编辑器:

<DIV id=MyEditor contenteditable=true></DIV>


但是我遇到一个问题,就是在执行:
range.execCommand( "InsertImage", true );
就是插入一个图片的时候,我不知道如何获取“range”对象,我尝试这样写:

var oDiv = document.getElementById("MyEditor");
var selection = oDiv.document.selection;
var range = _selection.createRange();
range.execCommand( "InsertImage", true );

但是这样运行之后,图片居然插到页面的一开始的地方去了,并没有插入到DIV的编辑框里面。。。。。

请问应该如何获取这个DIV中的插入点?或者是range对象?
...全文
96 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aluzi 2010-02-26
  • 打赏
  • 举报
回复
问题就是如何记录插入点啊!?
aluzi 2010-02-26
  • 打赏
  • 举报
回复
顶。目前的解决方法就是在execCommand之前调用focus()方法。

但是我觉得这样不好。求更好的。
打字员 2010-02-25
  • 打赏
  • 举报
回复
你要插入图片,肯定要点非editor的区域,

这时它己经失去焦点了,

你再获取肯定是在最前面。

所以要在editor失去焦点前把它记录下来,插入图片时再用
aluzi 2010-02-25
  • 打赏
  • 举报
回复
顶一下,谢谢帮忙。

其实就是想知道如何获取输入点的位置。
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-02-25 05:50
社区公告
暂无公告