릴리즈 2.11.0 이상
에디터 편집 영역에서 복사를 했을 때 복사하기 전에 발생합니다. 이 이벤트를 통해 복사된 HTML의 내용을 확인하거나, 복사될 HTML을 설정할 수 있습니다.
이벤트 등록
API 사용
var editorId = 'synapEditor'; var editorConfig = {}; var html = ''; var editor = new SynapEditor(editorId, editorConfig, html); editor.setEventListener('beforeCopy', function (e) { });
함수방식
var editorId = 'synapEditor'; var editorConfig = {}; var html = ''; function SynapEditorBeforeCopy(e) { } new SynapEditor(editorId, editorConfig, html);
에디터 초기화시 등록
var editorId = 'synapEditor'; var editorConfig = {}; var html = ''; var eventListeners = { beforeCopy: function (e) { } }; new SynapEditor(editorId, editorConfig, html, eventListeners);
함수로 전달되는 객체 형태
함수로 전달되는 파라미터 e의 형식
e
{ editor: SynapEditor, eventType: 'beforeCopy', cancelable: false, returnValue: null, copiedHTML: '<p>복사된 HTML</p>' }
API
event.setExternalCopyProtection(useProtection, message)
에디터의 편집 영역에서 텍스트를 복사했을 때, 원래의 복사된 HTML 대신 복사될 HTML 또는 텍스트를 설정할 수 있습니다.
에디터의 편집 영역에서 텍스트를 복사한 후 에디터의 편집 영역에 다시 붙여넣을 때는 영향을 주지 않고, 에디터의 텍스트를 복사한 후 에디터 편집 영역이 아닌 곳에 붙여넣을 때 설정한 HTML 또는 텍스트가 붙여 넣어집니다.
Parameters:
Name | Type | Description |
---|---|---|
useProtection | boolean | 다른 HTML 또는 텍스트를 복사되게 할 지 여부 true로 설정하면 복사된 내용이 message에 설정한 값으로 대체됩니다. |
message | string | 복사될 HTML 또는 텍스트 |
{ beforeCopy: function (e) { e.setExternalCopyProtection(true, '복사될 HTML'); } }
참고
에디터 편집 영역에서 복사한 내용에 대해서만 이벤트가 발생합니다.
에디터가 편집 중인 상태가 아닌 '소스 보기' 또는 '미리 보기' 중인 경우에는 'beforeCopy' 이벤트가 발생하지 않으므로 복사한 HTML 내용을 변경할 수 없습니다.
또한, 에디터의 '붙여넣기' 기능 실행시 나타나는 다이얼로그는 에디터의 편집 영역이 아니기 때문에 복사된 HTML이 아닌 설정한 값이 붙여 넣어집니다.
사용 예시
설정한 내용 | 동작 |
---|---|
editor.setEventListener('beforeCopy', function (e) { e.setExternalCopyProtection(true, '안녕하세요!'); }); |