Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

ckeditor의 checkDirty()와 resetDirty()는 무엇인가?

ckeditor, 자바스크립트로 내용 집어넣기(전체 내용 바꾸기)에서 다운받으면 나오는 _samples의 API를 보면 몇몇 API는 쉽게 볼 수 있다고 썼다. ckeditor/_samples/api.html 가 바로 그 API 페이지다. 여기에는 checkDirty와 resetDirty라는 버튼이 있다. 이건 뭔고하니, 간단하다. 페이지에 변화가 있었는지 없었는지 체크하는 것이다. 변화가 있었다면 true, 없었다면 false를 반환한다. 수정하러 들어왔다가 아무 것도 수정하지 않고 돌아간다면 굳이 submit할 필요가 없을 […]

ckeditor, 자바스크립트로 내용 집어넣기(전체 내용 바꾸기)에서 다운받으면 나오는 _samples의 API를 보면 몇몇 API는 쉽게 볼 수 있다고 썼다.

ckeditor/_samples/api.html 가 바로 그 API 페이지다. 여기에는 checkDirty와 resetDirty라는 버튼이 있다.

이건 뭔고하니, 간단하다. 페이지에 변화가 있었는지 없었는지 체크하는 것이다. 변화가 있었다면 true, 없었다면 false를 반환한다. 수정하러 들어왔다가 아무 것도 수정하지 않고 돌아간다면 굳이 submit할 필요가 없을 테니 그럴 때 사용하는 것 아닐까? 아니면 ajaxAutoSave 같은 걸 만들 때 사용하거나.

각 버튼에 바인드된 함수 코드는 아래와 같다.

function CheckDirty()
{
	// 원하는 에디터 인스턴스를 고른다.
	var oEditor = CKEDITOR.instances.textarea_id;
	alert( oEditor.checkDirty() );
}

function ResetDirty()
{
	// 원하는 에디터 인스턴스를 고른다.
	var oEditor = CKEDITOR.instances.textarea_id;
	oEditor.resetDirty();
	alert( 'IsDirty 상태가 리셋됐습니다.' );
}

ResetDirty를 하고 나서 CheckDirty를 하면, 아무것도 변하지 않았다는 의미로 false라고 나온다.

아작스 오토 세이브 같은 걸 한 다음 ResetDirty 함수를 실행하면 사용자들이 자기 데이터가 저장됐는지 안 됐는지 알 수 있을 것이다.

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다