반응형
Copy & Paste 시에 텍스트만 가져오도록 처리 onpaste 이벤트에 걸면된다.
const getTextByPasteClipboard = (e) => {
e.preventDefault();
let text;
const clp = (e.originalEvent || e).clipboardData;
if (clp === undefined || clp === null) {
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
// @ts-ignore
text = window.clipboardData.getData('text') || '';
if (text !== '') {
text = text.replace(/<[^>]*>/g, '');
if (window.getSelection) {
const newNode = document.createElement('span');
newNode.innerHTML = text;
window.getSelection().getRangeAt(0).insertNode(newNode);
} else {
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
// @ts-ignore
document.selection.createRange().pasteHTML(text);
}
}
} else {
text = clp.getData('text/plain') || '';
if (text) {
text = text.replace(/<[^>]*>/g, '');
document.execCommand('insertText', false, text);
}
}
};
반응형
'웹프로그래밍 > Javascript' 카테고리의 다른 글
window.open 새로운 윈도우 창에 post 로 보내기 (0) | 2022.05.31 |
---|---|
validate JSON (JSON 여부 검사) (0) | 2020.07.08 |
get Image width and height (0) | 2020.07.08 |
moment.js (날짜관련 작업을 위한 자바스크립트 라이브러리) (0) | 2020.02.11 |
[Javascript] 페이지를 떠날 때 경고창 띄우기 (0) | 2017.05.19 |