2013-05-02 2 views
5

최근 내 웹 응용 프로그램에 TinyMce 4.0을 통합하려고했습니다. 텍스트 영역을 클릭하면 클릭 이벤트가 발생하지만 작동하지 않습니다. 나는 공식 문서에 보았다, 나는 다음 코드를 시도했다 :TinyMCE 4.0에서 이벤트를 클릭하십시오.

표시 오류가 있습니다
tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
     }); 
    } 

: "형식 오류 : ed.onClick이 정의되지".

그래서, 나는 iframe이에 직접 onclick 이벤트를 넣어 시도하지만 실패의 :

$("iframe").contents().bind('click', function(){ 
... 
}); 

는이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

+0

을 어디 테스트 (브라우저)입니까? – Amit

+0

안녕하세요, 저는 Chrome과 Firefox의 마지막 버전을 테스트했습니다. – Scipius2012

답변

0

흠, 당신은 시도 할 수

$(ed.getDoc()).bind('click', function(){ 
... 
}); 

업데이트 : 시간의 그 시점으로 초기화 아무 편집기가없는 것처럼 보인다. V3에서

setup : function(ed) { 
     ed.onInit.add(function(ed, e) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
     }); 
     }); 
    } 
+0

답변 해 주셔서 감사합니다. 귀하의 코드를 시도했지만 다음 오류가 발생했습니다 : "ReferenceError : ed 정의되지 않았습니다". 나는 "ed"를 "window.tinyMCE.get ("idOfMyTextarea ")"로 바꾸고 (이전에 시도한) 오류를 다시 시도했다. – Scipius2012

+0

내 업데이트 된 게시물보기 – Thariama

+0

코드를 사용해 보았습니다. 버전 3에서는 제대로 작동하지만 버전 4에서는 제대로 작동하지 않습니다. 버전 4로 시도하면 다음 오류가 발생합니다. "TypeError : ed.onInit이 정의되지 않았습니다. ". 이 오류는 버전 4에서만 나타납니다! – Scipius2012

12

TinyMCE에 v4의 변경 일을 시도 - 시도 :

setup : function(ed) { 
    ed.on("click", function() { 
     alert("Editor Clicked! Element: " + this.target.nodeName); 
    }); 
}; 
+0

'클릭' '에는 편집기 인스턴스가 없습니다. 이것은 'init'이벤트 처리의 경우입니다. 편집기 인스턴스 (이벤트 생성자)에 액세스하려면 --editor.on ('init', function() { var doc = this.contentDocument; }); – psulek

+0

감사 업데이트 그 것을 반영하기 위해 –

관련 문제