禁用TinyMCE上的默认鼠标单击功能

Disable default mouseclick function on TinyMCE

本文关键字:鼠标 单击 功能 默认 TinyMCE 禁用      更新时间:2023-09-26

通常,当单击TinyMCE(或任何其他编辑器)中的文本时,插入符号会放置在那里和/或开始文本选择。

我不希望这样的事情发生。我希望当单击可编辑的文本区域时,什么都不会发生。我该怎么做?

在我的设置函数中,我有以下代码,这是从上一个问题开始的后续,它确保在打开 TinyMCE 后立即选择实例中的所有文本:

    ed.onInit.add(function(ed, evt) {
      var range = ed.selection.dom.createRng();
      range.setStartBefore(ed.getBody().firstChild);
      range.setEndAfter(ed.getBody().lastChild);
      ed.selection.setRng(range);
            });

现在所有文本都已选中,我不希望用户能够取消选择它或选择文本中的任何其他范围。所以我希望用户的点击不做任何事情。我尝试在相同的设置功能中添加它:

ed.onClick.add(function(ed, evt) {
  console.debug('Editor was clicked: ' + evt.target.nodeName);
  evt.preventDefault();
  evt.stopPropagation();            
        }); 

但是,当控制台消息显示时,单击仍然取消选择已选择的文本范围。如何确保点击不执行任何操作?或者至少它们不会影响已经选择的文本范围?

尝试否定 mousedown 事件,而不是之后触发的 click 事件。