gpt4 book ai didi

javascript - 在指定位置插入元素

转载 作者:行者123 更新时间:2023-11-28 09:17:31 27 4
gpt4 key购买 nike

有没有办法在tinyMCE中的指定偏移处插入内容?我需要在运行时在文档中的某个位置插入一个元素。

编辑:更具体地说,我需要从一个客户端获取光标位置,将其发送到服务器并将其广播到其他客户端,以便在其屏幕上绘制自定义光标,然后它们知道其他客户在哪里写作。我陷入困境的部分是如何插入我想要的包含插入符号的节点 |在一个偏移量处。我弄清楚了如何获得插入符号偏移量以及如何将其发送出去。唯一的问题是似乎没有方法可以在像 insertNode(element,position) 或类似的位置插入节点。

这是我现在的代码:

hub.client.broadcastPosition = function (position) {
range = ed.selection.getRng();

var newNode = ed.getDoc().createElement("span");
newNode.id = "caret";
newNode.setAttribute("class", "all-carets");

var element = ed.getDoc().getElementById("caret");

if (element != null) {
element.parentNode.removeChild(element);
}

newNode.innerHTML = "|";
newNode.style.color = "black";

range.setStart(range.startContainer, position);
range.setEnd(range.startContainer, position);

range.insertNode(newNode, position);
};

我通过以下方式通过服务器发送位置:

var s = ed.selection.getSel();
if (s) {
if (s.anchorNode && s.anchorNode.nodeType == 3) {
caretPosInElement = s.anchorOffset;

hub.server.sendPos(caretPosInElement);
}
}

在客户端,即在broadcastPosition函数中,我需要在我从服务器发送的位置插入带有id插入符号的span节点。因此我需要其他东西来代替这个范围。有什么想法吗?

最佳答案

选择要插入内容的实际位置,然后使用 mceInsertContent execCommand:

ed.execCommand('mceInsertContent', false, '<span class="marker">my_node_content</span>');

关于javascript - 在指定位置插入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15461767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com