使用我当前的设置插入HTML - textNode

时间:2016-03-18 23:06:56

标签: javascript jquery html textnode

创建一个允许您上传图像的文本编辑器,然后将图像url和img标记添加到内容可编辑div中。

我已经掌握了这个片段的所有内容......

function insertTextAtCursor(text) {
    var sel, range, html;
    sel = window.getSelection();
    range = sel.getRangeAt(0);
    range.deleteContents();
    var textNode = document.createTextNode(text);
    range.insertNode(textNode);
    range.setStartAfter(textNode);
    sel.removeAllRanges();
    sel.addRange(range);
}

...但它会输出html字符串,所以我看到"<img src=""/>"而不是实际图像。

我有什么方法可以做到这一点吗?

我的AJAX调用响应,我使用的函数是:

this.on("success", function(file, response) {
    var imageUrl = "https://s3-eu-west-1.amazonaws.com/mys3account/images/" + response.image['name'];
    insertTextAtCursor("<img src='" + imageUrl + "'/>");
});

感谢。

1 个答案:

答案 0 :(得分:0)

这解决了我:

var descriptionNode = document.createElement("img");
descriptionNode.className = "img";
descriptionNode.src = text;

range.insertNode(descriptionNode);
range.setStartAfter(descriptionNode);

从这里采取:https://stackoverflow.com/a/8031639/2921557