首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在tinymce.Shortcuts中实现TinyMCE v4

如何在tinymce.Shortcuts中实现TinyMCE v4
EN

Stack Overflow用户
提问于 2017-03-21 01:16:43
回答 3查看 843关注 0票数 2

我想向我的TinyMCE编辑器添加键盘快捷键。

这是我的init代码:

代码语言:javascript
复制
tinymce.init({
    selector: 'textarea',
    menubar: false,
    mode : "exact",
    plugins: [
    'advlist autolink lists link image charmap print preview anchor',
    'searchreplace visualblocks code fullscreen',
    'insertdatetime media table contextmenu paste code',
    'print'
    ],
    toolbar: 'print | styleselect | bullist numlist',
});

我知道我需要这样的东西:

代码语言:javascript
复制
editor.shortcuts.add('ctrl+a', function() {});

但我不知道如何将快捷键代码与我的init代码连接起来。

TinyMCE文档这里,但我很难理解它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-24 17:04:33

这是@Thariama提供的答案的扩展。对我有用的代码是:

代码语言:javascript
复制
tinymce.init({
    selector: 'textarea',
    menubar: false,
    mode : "exact",
    setup: function(editor) {
        editor.shortcuts.add('ctrl+a', desc, function() { //desc can be any string, it is just for you to describe your code.
            // your code here
        });
    },
    plugins: [
    'advlist autolink lists link image charmap print preview anchor',
    'searchreplace visualblocks code fullscreen',
    'insertdatetime media table contextmenu paste code',
    'print'
    ],
    toolbar: 'print | styleselect | bullist numlist',
});

另外,您也可以使用以下方法,这将允许您重写TinyMCE保留的键命令:

代码语言:javascript
复制
tinymce.init({
    selector: 'textarea',
    menubar: false,
    mode : "exact",
    setup: function(e) {
      e.on("keyup", function(e) {
        if ( e.keyCode === 27 ) {  // keyCode 27 is for the ESC key, just an example, use any key code you like
          // your code here
        }
      });
    },
    plugins: [
    'advlist autolink lists link image charmap print preview anchor',
    'searchreplace visualblocks code fullscreen',
    'insertdatetime media table contextmenu paste code',
    'print',
    ],
    toolbar: 'print | styleselect | bullist numlist',
});
票数 1
EN

Stack Overflow用户

发布于 2017-03-21 08:02:10

以下是如何做到这一点:

代码语言:javascript
复制
tinymce.init({
  selector: 'textarea',  // change this value according to your HTML

  // add your shortcuts here
  setup: function(editor) {
    editor.shortcuts.add('ctrl+a', function() {});
  }
});

使用设置 init参数!

票数 1
EN

Stack Overflow用户

发布于 2017-11-05 12:45:19

作为对前两个答案的补充,下面是一个完整的例子:

代码语言:javascript
复制
tinymce.init({
//here you can have selector, menubar...
setup: function (editor) {
       setLocale(editor);
            // For the keycode (eg. 13 = enter) use: cf http://keycode.info 
            editor.shortcuts.add('ctrl+13', 'indent', function(){      
                tinymce.activeEditor.execCommand('indent');
            });

            editor.shortcuts.add('ctrl+f', 'subscript ', function(){      
                tinymce.activeEditor.execCommand('subscript');
            });
        },
        });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42916776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档