2016-12-11 3 views
0

jQuery를 사용하고 URL을로드하는 중입니다. 그런 다음 getScript()를 사용하여 ckeditor 플러그인을로드합니다. 문제는 텍스트 영역이 ckeditor에 표시되기 전에 2-3 번 대화 상자를 열거 나 닫아야한다는 것입니다. 나는 이유를 모른다.jQuery로드 URL, getScript가 2 개의 스크립트를로드합니다. 나를 작동시키기 전에 대화 상자를 2 번 새로 고칩니다.

$(divId).load(Url, function() { 
    $.when(
     $.getScript('//cdn.ckeditor.com/4.6.1/standard/ckeditor.js'), 
     $.getScript('//cdn.ckeditor.com/4.6.1/full-all/adapters/jquery.js', function() { 
      $('textarea.richtext').ckeditor({ 
       customConfig: '/ckeditor_config_simple.js' 
      }); 
     }) 
    ).done(function(){ 
     console.log("test 123 "); 
    }); 
}); 
+0

여기 지연된 객체를 사용하여 어떤 목적? 그리고 ckeditor getScript() 성공 콜백에서 jq 어댑터를로드해야합니다. 그리고 콘솔의 오류 메시지는 어떻습니까 ??? –

+0

잡히지 않은 TypeError : $ (...). ckeditor가 함수가 아닙니다. (...) – Lixo

답변

1

당신은 동시에 두 ckeditor와 어댑터를로드, 그래서 어댑터가 작기 때문에, 먼저로드하지만 ckeditor 어댑터 전에로드해야하기 때문에 오류가 발생합니다.

UPDATE : 당신이 사업부에 대한 jQuery를 UI 대화 상자를 사용하기 때문에,이 시도 :

$(divId).dialog({ 
    open: function(event, ui) { 
    $(this).load(URL, function() { 
     $.getScript('//cdn.ckeditor.com/4.6.1/standard/ckeditor.js') 
     .then(function() { 
      return $.getScript('//cdn.ckeditor.com/4.6.1/full-all/adapters/jquery.js'); 
     }) 
     .then(function() { 
      $('textarea.richtext').ckeditor({ 
       customConfig: '/ckeditor_config_simple.js' 
      }); 
     }); 
    }); 
    } 
}); 
+0

오류는 없지만 textArea에 richtext 편집기가 표시되지 않습니다. 정상적인 텍스트 영역을 그냥 보입니다. – Lixo

+0

로드하는 외부 텍스트 영역에 텍스트 영역이 있습니까? 로드 기능을 어떻게 사용합니까? – Wizard

+0

yes, inside ... $ (divId) .load (myDialogUrl, function() { "textarea.richtext '를 넣으면 이상하게 보입니다.) .ckeditor ({"js 파일 안의 getScript 파일 작동 여부 lol – Lixo