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 또는 텍스트가 대신 붙여넣어집니다.
매개변수:
| 이름 | 타입 | 설명 |
|---|---|---|
useProtection | boolean | 서로 다른 HTML 또는 텍스트가 복사되도록 할지 여부입니다. true로 설정하면 복사된 내용이 message에 설정된 값으로 대체됩니다. |
message | string | 복사될 HTML 또는 텍스트입니다. |
{
beforeCopy: function (e) {
e.setExternalCopyProtection(true, 'HTML to be copied');
}
}
참고 사항
이 이벤트는 에디터의 편집 영역에서 복사된 내용에만 발생합니다.
에디터가 편집 상태가 아닐 때('소스 코드 보기' 또는 '미리보기'에서) beforeCopy 이벤트가 발생하지 않으므로, 복사된 HTML 내용은 변경할 수 없습니다.
또한, 에디터의 '붙여넣기' 기능이 띄우는 다이얼로그는 에디터의 편집 영역이 아니기 때문에, 복사된 HTML 대신 설정된 값이 붙여넣어집니다.
사용 예시
| 설정 코드 | 동작 |
|---|---|
| 아래의 설정 코드을 참고합니다. | 아래의 동작을 참고합니다. |
설정 코드
editor.setEventListener('beforeCopy', function (e) {
e.setExternalCopyProtection(true, 'Hello!');
});
동작
