2010-11-20 4 views
0

내 사이트에 CLEditor을 사용하고 있는데 IE에서 사용할 때 문제가 있습니다. 문제는 다음과 같습니다. 이미지를 삽입하고 편집기에 놓은 다음 다른 이미지를 삽입하면 이미지가 선행으로 덮어 씁니다. Firefox에서는 prevoius 옆에 새로운 것을 놓습니다. CLEditor에 연락하여 이것이 브라우저에 관한 중요한 문제라고 말해주었습니다. 그는 IE가 있는지 확인한 다음 이미지가 삽입 된 후 TextRange.collapse() 메서드를 사용하여 현재 범위를 끝까지 축소하여 해결 방법을 제시합니다. 나는이 soultion을 만들려고 노력하지만 Javascript와 함께 전문가가되어서 작동하지 않습니다. 나는 당신의 도움이 필요하다.IE의 execCommand 동작 : CLEditor 이미지 덮어 쓰기 문제

.bind(CLICK, function() { 

    // Insert the image or link if a url was entered 
    var $text = $popup.find(":text"), 
    url = $.trim($text.val()); 
    if (url !== "") 
    execCommand(editor, data.command, url, null, data.button); 

    // Reset the text, hide the popup and set focus 
    $text.val("http://"); 
    hidePopups(); 
    focus(editor); 

}); 

답변

0

이이 문제에 대한 솔루션입니다 :

은 편집기 영역에 이미지를 삽입하는 코드입니다. JavaScript 전문가가 아니기 때문에이 문제를 해결하는 데 3 일이 걸립니다. 이것이 도움이되기를 바랍니다.

 .bind(CLICK, function() { 

      // Insert the image or link if a url was entered 
      var $text = $popup.find(":text"), 
      url = $.trim($text.val()); 
      if (url !== "") 
      execCommand(editor, data.command, url, null, data.button); 

      // Reset the text, hide the popup and set focus 
      $text.val("http://"); 
      hidePopups(); 
      if ($.browser.msie) { 
    var editorvalue=editor.$frame[0].contentWindow; 
    var pos = editorvalue.document.body.innerHTML.length; 
    var textRange = editorvalue.document.body.createTextRange(); 
    textRange.collapse(true); 
    textRange.moveEnd("character", pos); 
    textRange.moveStart("character", pos); 
    textRange.select(); 


    } 

      focus(editor); 

     });