2011-05-03 4 views
11

document.execCommand을 사용하여 글꼴 크기를 30px (예 :)로 변경하려면 어떻게해야합니까?document.execCommand() FontSize (픽셀 단위)?

이 :

document.execCommand("fontSize", false, "30px"); 

때문에 함수의 execCommand의 제 3 인수에 작동하지 않습니다, 그것은 단지 입력에 사이의 값과 그것의 한계의 1 7.

답변

16

에 포함 날 수 있습니다 FontSize 명령 내가 생각할 수있는 다양한 옵션이 있습니다

당신은 대신 CSS 클래스를 사용하여 내 Rangy 라이브러리의 CSS class applier 모듈을 사용할 수 있습니다
    • ;
    • document.execCommand("fontSize", false, "7");을 호출 한 다음 명령이 만든 요소를 ​​찾고 필요에 따라 변경하는 것과 같은 해킹 방법을 사용할 수 있습니다. 예 : http://jsfiddle.net/S3ctN/을 참조하십시오. 이것은 문서에 크기가 7 인 다른 <font> 요소가 없으며 글꼴 크기가 <font> 인 요소를 사용하는 브라우저에 의존합니다.
  • +2

    예를 실행합니다. 두 번째 대답은 좋은 생각입니다! http://pastebin.com/6r4pkmNV – bordeux

    6

    두 번째 대답은 execcommand 다음에 jquery를 실행하고 마크 업을 자신의 것으로 대체하는 것이 좋습니다.

    elem을 요소로 바꾸고 font-size를 원하는 값으로 편집하면됩니다.

    jQuery("font[size]", elem).removeAttr("size").css("font-size", "10px"); 
    
    8

    기능

    var execFontSize = function (size, unit) { 
        var spanString = $('<span/>', { 
         'text': document.getSelection() 
        }).css('font-size', size + unit).prop('outerHTML'); 
    
        document.execCommand('insertHTML', false, spanString); 
    }; 
    

    execFontSize(30, 'px'); 
    
    +0

    이것은 Mozilla Firefox에서 작동하지만 ie에서 작동하지 않습니다. –

    관련 문제