gpt4 book ai didi

javascript - CKEditor,带有 child 的自定义对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:49:59 26 4
gpt4 key购买 nike

我正在尝试为 CKEditor 创建一个插件,用于添加带有子项的自定义对象。

例子:

<div>
<img src="someimage.jpg" />
<p>
Some text
<span>Some subtext</span>
</p>
<img src="someStaticImage.jpg" />
</div>

在 onOk 函数中我有:

---snip---
this.imgElement.setAttribute('src',path + data.imageSrc);
this.staticImgElement.setAttribute('src',path + 'images/staticimg.jpg');
this.imgElement.appendTo(this.element);
this.imgElement.appendTo(this.element);
this.staticImgElement.appendTo(this.element);
---snip---

我希望此 block 表现为单个元素,这意味着按退格键会删除整个 block ,双击它会打开编辑对话框...

知道我该怎么做吗?

我接近设置

this.element.setAttribute('contenteditable','false');

但是,如果“it”是 ckedit 窗口中的第一个元素,则不允许在“it”之前插入内容。

编辑:

更多信息:我正在使用 CKEditor 4.0,内联版本我希望我的“对象”像“图像”插件一样,当您双击图像时,会打开一个对话框,与创建对象时的对话框相同(设置 src、宽度...) .我设法让它与它相似,但因为它是一个带有子元素的 div,CKEditor 将每个部分视为单独的部分,这使得对象的删除(使用退格键)表现得很奇怪,只有部分被删除,需要多次按下退格键才能删除整个对象。

最佳答案

我是 CKEditor 核心开发人员,我想我有一个有趣的消息要告诉你:)。巧合的是,现在我们正在研究 Widgets feature这正是你的意思。

通过设置 contenteditable=false 使页面的某些片段不可编辑,使它们无法使用。选择、复制和粘贴、右键单击、使用箭头键——所有这些至少部分被破坏了。如果您尝试添加嵌套的可编辑元素(在不可编辑的内部可编辑),情况会更糟,因为例如它可以从内部删除。

这就是为什么我们决定实现一个很好的 API 来创建小部件并在后台修复所有这些错误。也许一开始并不是所有的错误都存在于所有浏览器中,因为它们数量巨大(真的......我的意思是huuuuge :P),当然浏览器之间根本没有标准行为。但这将是一个好的开始。将在即将发布的 CKEditor 4.2 中发布的第一个小部件版本应该可以使用——这是我们的目标。然后我们将专注于稳定实现。

附言。 CKEditor Roadmap说 CKE 4.2 将在 11 天内准备就绪,不幸的是,这不是真的。我们延迟了,但我现在不想估计延迟了多少。

关于javascript - CKEditor,带有 child 的自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499363/

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