2401_82516555 2024-05-30 11:16 采纳率: 16.7%
浏览 33
已结题

TinyMCE如何去掉自动弹出的“链接…”工具?

TinyMCE版本5以上汉化版在编辑输入文字的时候,只要按住屏幕,就会自动弹出“链接…”工具,插入链接功能并不是高频使用率,老是自动弹出“链接…”快捷工具,很不方便。插入链接工具本来在编辑器上面工具栏就有,没必要每次编辑时候自动弹出来。
请问去掉自动弹出“链接…”快捷工具的方法。

img

  • 写回答

21条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2024-06-01 23:33
    关注

    要解决 TinyMCE 5 及以上版本中在编辑输入文字时长按屏幕自动弹出“链接”工具的问题,可以通过配置 TinyMCE 的插件和菜单选项来禁用或调整相关功能。

    以下是一些可能的解决方法:

    方法 1:禁用 Context Menu 插件

    如果不需要上下文菜单,可以完全禁用它。你可以在初始化 TinyMCE 时,移除 contextmenu 插件。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image',  // 移除 contextmenu 插件
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false,
      contextmenu: false  // 禁用上下文菜单
    });
    

    方法 2:自定义 Context Menu

    如果你希望保留上下文菜单,但去掉“链接”选项,可以自定义上下文菜单的内容。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image contextmenu',
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false,
      contextmenu: 'bold italic | alignleft aligncenter alignright alignjustify | bullist numlist',  // 自定义上下文菜单,移除 link 选项
    });
    

    方法 3:监听并禁用长按事件

    如果上述方法无法解决问题,可以通过监听和阻止长按事件来避免弹出“链接”工具。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image',
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false,
      setup: function (editor) {
        editor.on('init', function () {
          editor.getBody().addEventListener('touchstart', function (e) {
            if (e.touches.length > 1) {
              e.preventDefault();
            }
          }, { passive: false });
    
          editor.getBody().addEventListener('touchend', function (e) {
            if (e.touches.length > 1) {
              e.preventDefault();
            }
          }, { passive: false });
        });
      }
    });
    

    方法 4:禁用 QuickLink 插件

    如果问题是由 QuickLink 插件引起的,可以禁用该插件。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image',  // 移除 quicklink 插件
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(20条)

报告相同问题?

问题事件

  • 系统已结题 6月12日
  • 已采纳回答 6月4日
  • 修改了问题 5月30日
  • 修改了问题 5月30日
  • 展开全部

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?