2017-04-13 2 views
2

Hier passe ich ein Blockelement nach Quill.import('blots/block/embed') an, das ich in den Editorinhalt einfüge. Ich würde gerne wissen, dass, wenn es eine Möglichkeit gibt, es nicht löschbar zu machen, deshalb konnte der Benutzer nicht es löschen oder es bearbeiten? Danke vielmals.In Quilljs Editor, wie ein nicht löschbares Block-Level-Element einfügen?

+0

upvote, ich habe einen ähnlichen Anwendungsfall, aber für E-Mail-Signaturen/powered by Strap-Linien – haxxxton

Antwort

0

Ich hatte ein ähnliches Problem und die Lösung, die ich kam, war die Tastaturbindung für Backspace abzufangen. Im Beispiel hier habe ich einen benutzerdefinierten Video-Blot. Wenn also die Rücktaste gedrückt wird und der Cursor auf oder direkt hinter einem Video steht, tut das nichts. Hier ist die Dokumentation für das Tastaturmodul als Referenz:

let _this = this;  
this.quill = new Quill(this.contentElement, { 
    modules: { 
    keyboard: { 
     bindings: { 
     video: { 
      key: 'backspace', 
      handler: function(range, keycontext) { 
      let format = _this.quill.getFormat(range.index - 1); 
      if (!format.video && !keycontext.format.video) { 
       // propogate to Quill's default 
       return true; 
      } // else do nothing to prevent deleting video 
      } 
     } 
     } 
    } 
    }, 
    theme: 'snow' 
}); 

Auch eine andere Sache im Auge zu behalten, hat der Herausgeber contenteditable = „true“, die Ihre eigenen Blot erben. Daher möchten Sie wahrscheinlich contenteditable = "false" auf dem Knoten in Ihrem benutzerdefinierten Blot festlegen.

Verwandte Themen