在开启contenteditable可编辑div光标处插入图片

  $("#Content").focus();

// 创建 img 元素
var img = document.createElement('img');
img.src = 'xxxx';
img.style.display = 'block';

// 插入 img 元素
if (window.getSelection) {
var editableDiv = document.getElementById('Content')
var selection = window.getSelection();
var range = selection.getRangeAt(0);
// 判断光标位置是否在 img 元素之前,防止将新img插入到旧img标签内部
if (range.startContainer.tagName != undefined&&range.startContainer.tagName.toLowerCase() === 'img') {
var previousImg = range.startContainer;
editableDiv.insertBefore(img, previousImg.previousSibling);
} else {
range.insertNode(img);
}

// 将光标移到新插入的 img 下一行的首位
var newRange = document.createRange();
newRange.setStartAfter(img);
newRange.collapse(true);

// 清空之前的选区并设置新的选区
selection.removeAllRanges();
selection.addRange(newRange);
}

$("#Content").focus();

posted @ 2023-09-20 19:17  奇迹之耀  阅读(174)  评论(0编辑  收藏  举报