阻止TAB-Event在angular 5+组件的quilljs编辑器中执行

时间:2018-07-05 09:18:15

标签: javascript angular quill

为了防止在我的Angular 5+组件中触发Tab事件,我用documentation

中提到的绑定取代了Tab事件的标准套管实现。
const bindings = {
  // This will overwrite the default binding also named 'tab'
  tab: {
    key: 9,
    handler: function(range) {
      // Handle tab
    },
  },
};

由于我们不想处理嵌套的有序列表或无序列表,因此我希望制表事件不会在空列表项上触发。

enter image description here

有人知道如何修改自定义处理程序以阻止此功能吗?

2 个答案:

答案 0 :(得分:0)

好吧,制表符还有其他默认处理程序,例如indent,outdent和outdent退格。您可以检查此文件https://github.com/quilljs/quill/blob/develop/modules/keyboard.js#L184

所以您必须覆盖更多:)

答案 1 :(得分:0)

您必须以这种方式定义“模块”属性:

var quill = new Quill('#editor', {
  modules: {
    keyboard: {
      bindings: {
                indent: {
                    key: 'Tab',
                    handler() {
                        return false;
                    },
                },
                outdent: {
                    key: 'Tab',
                    shiftKey: true,
                    handler() {
                        return false;
                    },
                },
            }
    }
  }
});