【问题标题】:CKEditor: Possible to invoke action by double-clicking on text inside editor?CKEditor:可以通过双击编辑器内的文本来调用操作吗?
【发布时间】:2025-12-12 02:15:01
【问题描述】:

我用谷歌搜索了,什么也没找到,所以我在这里。如果这在 CKEditor 文档中,我也没有找到它。

希望用户能够在 CKEditor 中双击一段文本(例如,一个单词),并使其能够在 CKEditor 之外打开一个新的 HTML 元素(例如引导模式)。这甚至可能吗?如果可以,我该怎么做?

例如,我编写了一个单独的“议程生成器”,您可以在其中从下拉列表中选择一些内容,例如会议室名称、您需要多少个座位等,然后输入一些日期和次。所有这些都保存到数据库中。但在 CKEditor 中的文本中,他们希望能够双击 [[agenda]] 并打开该功能,供用户创建议程并保存(与 CKEditor 完全不同),并且然后稍后我会将议程“插入”到文档中以代替 [[agenda]] 标记。有意义吗?

谢谢!

【问题讨论】:

    标签: javascript ckeditor


    【解决方案1】:

    我们通过创建一个 CKEditor 插件(供我们自己使用)解决了这个确切的场景。当您突出显示一个单词并从插件中选择一个下拉菜单时,它会编辑突出显示的元素。

    在我们的场景中,我们使用 Angular 指令进行导航。

    【讨论】:

      【解决方案2】:

      我想我在发布问题后设法找到了这些问题的答案......这就是我想出的:

      editor.on('doubleclick', function(e) {
         var element = e.data.element.$.innerText;
      
         if (element =='[[agenda]]' ) {
            alert("clicked on agenda");
         }
      });
      

      【讨论】: