如何检测 CKEditor 中何时删除了假元素?
How to detect when a Fake Element has been removed in CKEditor?
我有一个 CKEditor 的自定义插件,它在工具栏上添加了一个按钮,当用户单击它时,我创建了一个具有特定 ID 的 div 并显示了一个带有图标的 "fake element" .这就是我所需要的,而且有效。
我需要将每篇文章的功能限制为一次。所以我创建了一个 Javascript 变量,每次用户单击该按钮时该变量都会增加,并在第一次单击后禁用该按钮。
但我需要知道用户什么时候删除假元素来减少我的变量,再次启用按钮并让他添加另一个
有谁知道如何检测假元素何时被删除?
在这里保存状态变量不是一个好主意,无论如何,当重新打开内容以更新现有内容时,您必须检查内容。
您可以查找包含 data-cke-real-element-type
属性的对象(请注意,您需要向 createFakeElement
方法提供 realElementType
参数)。例如。有了它,您只需调用即可轻松找到可编辑的锚假元素的数量:
editor.editable().find( '*[data-cke-real-element-type="anchor"]' ).count();
当然你需要用你在realElementType
参数中注册的名字替换"anchor"
。
然后你需要做的就是钩子检查以正确editor events。
我有一个 CKEditor 的自定义插件,它在工具栏上添加了一个按钮,当用户单击它时,我创建了一个具有特定 ID 的 div 并显示了一个带有图标的 "fake element" .这就是我所需要的,而且有效。
我需要将每篇文章的功能限制为一次。所以我创建了一个 Javascript 变量,每次用户单击该按钮时该变量都会增加,并在第一次单击后禁用该按钮。
但我需要知道用户什么时候删除假元素来减少我的变量,再次启用按钮并让他添加另一个
有谁知道如何检测假元素何时被删除?
在这里保存状态变量不是一个好主意,无论如何,当重新打开内容以更新现有内容时,您必须检查内容。
您可以查找包含 data-cke-real-element-type
属性的对象(请注意,您需要向 createFakeElement
方法提供 realElementType
参数)。例如。有了它,您只需调用即可轻松找到可编辑的锚假元素的数量:
editor.editable().find( '*[data-cke-real-element-type="anchor"]' ).count();
当然你需要用你在realElementType
参数中注册的名字替换"anchor"
。
然后你需要做的就是钩子检查以正确editor events。