당신은 글로벌 타임 아웃 기능을 추가 할 수있는 모든 (간격이 당신에게 달려있다) 초 정도 검사 :
function updateCardIfDirty() {
if (tinyMCE.isDirty()) {
// rerender the card
}
}
setInterval(updateCardIfDirty, 2000); // check every 2 seconds.
청소기 솔루션은 TinyMCE를 편집기에서 변경을 할 때마다 확인하는 수 있습니다 .
tinyMCE.init({
...
setup : function(ed) {
ed.onChange.add(function(ed, l) {
// rerender the card
});
}
});
첫 번째 방법의 단점은 그들이 시간 동안 카드를 편집 해달라고해도, 2 초마다 실행하는 것입니다 다음과 같이 이것은 onChange()
이벤트 tinyMCE provides에 의해 가능하게 할 수있다. 두 번째 접근법의 단점은 1 초에 10 번 편집을 수행하면 두 번째 방법으로 10 번 카드를 다시 렌더링한다는 것입니다.
그래서 마지막의 두 세계의 최고를 유도 할 수있는 세 번째 방법을 시도하자, 우리가 언급 한 두 단점을 잃는 : 나는 현재이 점에서 TinyMCE에 문제를 해결하는 방법을 참조하려고
tinyMCE.init({
...
setup : function(ed) {
ed.onChange.add(function(ed, l) {
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(function(){ timeout=null; rerenderCard(); }, 1000);
});
}
});
"isdirty"메서드를 사용할 때 제대로 작동하지 않으며 변경이 충분하지 않습니다 (편집기를 클릭하거나 업데이트하려면 Enter 키를 눌러야합니다.) –
제안 사항 나도 또 다른 생각을 가지고있다. 그래서 +1 –
@ 대니얼의 경우, 'onChange'가 자주 발생하지 않으면 물론 OnKeyPress 또는 마우스 클릭 이벤트를 사용할 수있다. 동일한 코드가 작동한다 – davin