2017-04-13 3 views
2

여기 편집기 내용에 삽입하는 블록 요소를 Quill.import('blots/block/embed')으로 사용자 정의합니다. 내가 그것을 삭제할 수있는 방법이 있다면, 따라서 사용자가 을 삭제할 수 없다는 것을 알고 싶습니다 또는 그것을 편집? 고마워.Quilljs Editor에서 삭제할 수없는 블록 수준 요소를 삽입하는 방법은 무엇입니까?

+0

upvote, 비슷한 사용 사례가 있지만 이메일 서명/스트랩 라인을 사용합니다. – haxxxton

답변

0

나는 비슷한 문제가있어서 내가 생각해 낸 해결책은 백 스페이스에 대한 키보드 바인딩을 차단하는 것이었다. 여기 예제에서는 사용자 정의 '비디오'오점이 있습니다. 따라서 백 스페이스가 입력되고 커서가 비디오 위에 있거나 비디오 바로 뒤에 있으면 아무 것도 수행하지 않습니다. 여기에 참조 할 수 있도록 키보드 모듈에 대한 문서입니다 :

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' 
}); 

또한, 또 다른 한가지는 명심해야 할이, 에디터는 사용자 정의 스티커가 상속되는 =의 contentEditable "true"를 가지고있다. 따라서 사용자 정의 오 점의 노드에서 contenteditable = "false"로 설정하려고합니다.