2013-02-27 11 views
1

, 내가 CKEDITOR의 준비 인스턴스를 가지고 있고, 같은 페이지에 나는이 마크 업, 사진의 목록이있는 경우 :CKEditor 삽입 이미지 구성 요소를 프로그래밍 방식으로 열 수 있습니까? 예를 들어

<div class="galleryPictures"> 
    <a href="#image-id-1" data-id="1" data-img-src="/pictures/image-1.jpg" class="galleryPicture"> 
     <img src="/pictures/image-1.jpg" /> 
    </a> 
    <a href="#image-id-2" data-id="2" data-img-src="/pictures/image-2.jpg" class="galleryPicture"> 
     <img src="/pictures/image-2.jpg" /> 
    </a> 
    <a href="#image-id-3" data-id="3" data-img-src="/pictures/image-3.jpg" class="galleryPicture"> 
     <img src="/pictures/image-3.jpg" /> 
    </a> 
</div> 

내가 jQuery를이 a.galleryPicture 항목에 위임 핸들러를 클릭 한 다음 있습니다 :

$(document).ready(function() { 
    $('.galleryPictures').on('click', 'a.galleryPicture', function() { 
     // when this accours I would like to open CKEditor's 
     // Insert-Image Component, and to get the "url" field filled with 
     // $(this).data('img-src'); value 
    }); 
}); 

는 프로그래밍/개방 삽입-이미지를 트리거 할 수 있습니까?

답변

1

발견. 다른 사람에게 도움이 될 수 있습니다

CKEDITOR.tools.callFunction(51,{}); 
// second argument is {} (an empty js-object), it the original the <a> onclick it was like this: 
// CKEDITOR.tools.callFunction(51, this); meaning it was sending the instance of that element 
: 내가 클릭에 삽입 - 이미지 구성 요소의 오프닝을 트리거 <a>는이 함수 호출을 포함 본 적이 방화범이 끌려와 간단한 검사로

onclick 속성의

이 호출 후 다음과 같이 할 수 있습니다.

CKEDITOR.tools.callFunction(51,{}); 

// a failsafe if jQuery doesn't find the specified element after the function is executed 
setTimeout(function() { 
    $('#cke_69_textInput').val('someImageUrl'); 
}, 50);