beforeCopy

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

함수에 전달된 객체의 Shape

함수에 전달되는 매개변수 e의 형태는 다음과 같습니다.

e = {
    editor: SynapEditor,
    eventType: 'beforeCopy',
    cancelable: false,
    returnValue: null,
    copiedHTML: '<p>Copied HTML</p>'
}

API

event.setExternalCopyProtection(useProtection, message)

에디터의 편집 영역에서 텍스트를 복사할 때, 원래 복사되는 HTML 대신 복사될 HTML이나 텍스트를 설정할 수 있습니다.

이것은 에디터의 편집 영역에서 복사한 후 다시 에디터의 편집 영역에 붙여넣는 것에는 영향을 주지 않습니다. 에디터에서 복사한 텍스트를 에디터의 편집 영역 외부의 위치에 붙여넣으면, 설정한 HTML 또는 텍스트가 대신 붙여넣어집니다.

매개변수:

이름타입설명
useProtectionboolean서로 다른 HTML 또는 텍스트가 복사되도록 할지 여부입니다. true로 설정하면 복사된 내용이 message에 설정된 값으로 대체됩니다.
messagestring복사될 HTML 또는 텍스트입니다.
{
    beforeCopy: function (e) {
        e.setExternalCopyProtection(true, 'HTML to be copied');
    }
}

참고 사항

이 이벤트는 에디터의 편집 영역에서 복사된 내용에만 발생합니다.

에디터가 편집 상태가 아닐 때('소스 코드 보기' 또는 '미리보기'에서) beforeCopy 이벤트가 발생하지 않으므로, 복사된 HTML 내용은 변경할 수 없습니다.

또한, 에디터의 '붙여넣기' 기능이 띄우는 다이얼로그는 에디터의 편집 영역이 아니기 때문에, 복사된 HTML 대신 설정된 값이 붙여넣어집니다.

사용 예시

설정 코드동작
아래의 설정 코드을 참고합니다.아래의 동작을 참고합니다.

설정 코드

editor.setEventListener('beforeCopy', function (e) {
    e.setExternalCopyProtection(true, 'Hello!');
});

동작

1.00