我有一个CKEditor的自定义插件,它在工具栏上添加一个按钮,当用户点击它时,我创建一个具有特定ID的div并显示一个"假元素"带有图标。这就是我需要的全部工作。
我需要将每篇文章的功能限制为一次。所以我创建了一个Javascript变量,每当我的用户点击按钮时它就会增加,并在第一次点击后禁用该按钮。
但我需要知道用户何时删除假元素以减少我的变量,再次启用该按钮并让他添加另一个
有谁知道如何检测何时删除假元素?
答案 0 :(得分:2)
持有状态变量不是一个好主意,当重新打开内容以更新现有内容时,您仍然必须检查内容。
您可以查找包含data-cke-real-element-type
属性的对象(请注意,您需要为createFakeElement
方法提供realElementType
参数)。例如。通过调用,您可以轻松找到可编辑中的锚定假元素的数量:
editor.editable().find( '*[data-cke-real-element-type="anchor"]' ).count();
当然,您需要将"anchor"
替换为您注册为realElementType
参数的名称。
然后你需要做的就是勾选到正确的editor events。