可以使用createRange选择空范围吗?

时间:2012-08-30 18:25:10

标签: javascript internet-explorer

我有以下javascript,我试图将图像插入到我的内容中:

var imgHtml = '<IMG SRC="' + returnValue+ '">';
var $rte = document.parentWindow.document.getElementById(fieldId);
var rteDoc = $rte.document.selection;
var range = rteDoc.createRange();
range.pasteHTML(imgHtml);

如果我选择文字,这是有效的,但当我只将光标放在我的内容中(但不要选择任何内容)时,图像会插入到我页面的左上角而不是内容的位置。光标。

如果没有选择任何内容,如何插入光标位置?

仅供参考 - 这只需要在IE中工作

1 个答案:

答案 0 :(得分:1)

使用createTextRange获取光标位置,使用moveEnd将其偏移指定数量的字符:

var imgHtml = '<IMG SRC="' + returnValue+ '">';
var $rte = document.parentWindow.document.getElementById(fieldId);
var range = $rte.createTextRange();
range.moveEnd('character',0);
range.pasteHTML(imgHtml);