2012-01-09 1 views
5

저는 기존 프로젝트에서 일하고 있습니다. 나는 AJAX를 통해 자동으로 저장하는 tinyMCE focusout/blur 이벤트를 감지해야한다. 나는 다음과 같은 기존의 작업 코드를 발견tinyMCE 텍스트 영역 포커스 아웃 이벤트?

// reinit tinymce 
$($("#chapterBill div:.module-container")[indexAfter]).find('textarea').each(function(i){ 
    editorId = $(this).attr('id'); 
    tinymce.EditorManager.execCommand('mceAddControl',true, editorId); 
}); 

사람이 어떻게 TinyMCE에 텍스트 영역 focusout/blur 이벤트를 캡처 할 수 있음을 말해 줄래?

감사합니다.

답변

5

텍스트 영역/흐림을 캡처하고 싶지 않습니다. Tinymce는 이전 텍스트 영역을 숨기고 콘텐츠를 입력/편집 할 수있는 contenteditable iframe을 만듭니다. 이 콘텐츠는 때때로 숨겨진 텍스트 영역에 기록됩니다 (이벤트 기반).

편집기에서 focusout/blur를 캡처하려면 편집자 iframe에서 처리기를 설정해야합니다.

는 AJAX를 통해 동적으로 TinyMCE에 컨텐츠를 저장하기 위해 귀하의 TinyMCE에 초기화

setup : function(ed) { 
    ed.onInit.add(function(ed, evt) { 
     tinymce.dom.Event.add(ed.getDoc(), 'blur', function(e) { 
      // Do something when the editor window is blured. 
      alert('blur!!!'); 
     }); 
    }); 
}, 
+1

나는 이것에 많은 시간을 보냈고 결국 그것을 얻었다. 감사. 그것은 완벽한 설명입니다. – Awan

+1

Google 크롬에서 'blur'와 관련된 문제가 있다고 생각합니다. – Thariama

+1

Firefox에서 완벽하게 작동합니다. – Awan

0

내가 너무 솔루션에 일하는이 코드를 넣습니다. 많은 대답은 init에서이 옵션을 설정하도록 지시합니다. 그러나 코드가 여러 시스템에서 사용되었다는 사실 때문에이 편의성을 사용할 수 없었습니다.

$(window).load(function(){ 
    tinymce.get('id').on('blur', function(e) { 
     var content = tinymce.get('id'); 
     console.log(content); 
    }); 
}); 

id 당신의 텍스트 영역 요소에 설정된 id 속성 인로 : 난과 같이 구현할 수 있었다 페이지 특정 솔루션을 필요합니다.