2013-01-18 2 views
0

CKEditor에서 항목이 선택되면 Javascript로 결정하려고합니다. 나는 editor.hasSelection()과 같은 bool이 있었으면 좋겠다. 나는 editor.getSelection().getSelectedText() === ""을 사용하기 시작했으나, "text"가없는 요소 (예 : img)가 선택되면 빈 문자열이되어 false negative가 발생합니다. 나는 또한 editor.getSelection().getSelectedElement()을 들여다 보았다. 그러나 하나 이상의 요소가 선택되면 null이 주어진다.CKEditor에서 항목이 선택되었는지 확인하는 방법

API에 표시되지 않는 사항이 있습니까?

답변

1

CKEditor 선택 API에는이 작업을 직접 수행 할 수있는 것처럼 보이지 않습니다. 그러나, 나는 다음과 같이 할 것이라고 생각한다. 비록 수치스럽고 놀랍지 만 네이티브 브라우저 Selection 객체의 isCollapsed 속성과 같은 것이 없다는 것에 동의한다.

이 안된지만 작동합니다 것처럼 보인다 :

function hasSelection(editor) { 
    var sel = editor.getSelection(); 
    var ranges = sel.getRanges(); 
    for (var i = 0, len = ranges.length; i < len; ++i) { 
     if (!ranges[i].collapsed) { 
      return true; 
     } 
    } 
    return false; 
} 

// Example: 
alert(hasSelection(editor)); 
+0

을 user1810125 @ : 아, 반환 값 믹스 업에 대한 죄송합니다. 아이디어가 맞았 어 :) –

관련 문제