2011-07-27 5 views
4

CKEditor 3.6 대화 상자의 텍스트 입력 상자에 자동 완성 기능을 추가하고 있습니다. 문제는 ENTER 키를 사용하여 목록에서 값을 선택하는 것이 대화 상자를 닫고 모든 ENTER 키 이벤트가 dom을 버블 링하지 않도록 중지 되었기 때문입니다. 나는 _source/플러그인/대화/plugin.js에서 그것을 볼 수 있습니다 원래의 코드를 변경하지 않고이 동작을 재정의 할 수있는 방법이CKEditor 대화 상자에서 ENTER 키 처리 덮어 쓰기

// ESC, ENTER 
var preventKeyBubblingKeys = { 27 :1, 13 :1 }; 
var preventKeyBubbling = function(e) 
{       
    if (e.data.getKeystroke() in preventKeyBubblingKeys) 
     e.data.stopPropagation(); 
}; 

있습니까? 다른 아이디어도 환영합니다!

답변

0

마치이 문제를 해결하기 위해 iframe에 모든 대화 내용을 넣어야하는 것처럼 보입니다. 버블 링을 방지 한 키 목록을 구성 가능하고 하드 코드하지 않은 것이 좋을 것입니다.

0

은 CKEditor 4, 나는 자동 완성이 작동하는 동안 OK 버튼을 비활성화하고 입력 포커스를 잃으면 다시 가능하게함으로써이 문제를 해결 한 :..

CKEDITOR.dialog.getCurrent() getButton ("확인") 해제(); CKEDITOR.dialog.getCurrent(). getButton ("ok"). enable();