문제

ACT HTML 편집기의 기본 설정을 변경하는 방법은 무엇입니까? 예를 들어 선택한 BOLD 버튼 또는 LTR 대신 기본적으로 RTL 방향으로 편집기를로드하고 싶습니다.
어떻게 수행 할 수 있습니까? 나는 과대 평가했다 FillTopToolbar() 메소드 사용자 정의 버튼을 추가하는 방법이지만 기본 설정을 변경하는 방법을 모르겠습니다.
기본 LTR이 선택되면 RTL로 변경하고 싶습니다.

도움이 되었습니까?

해결책

나는 몇 가지를 수정하기 위해 내 대답을 편집했습니다

htmleditor는 서버 사이드 코드를 사용하여 해당 버튼의 상태를 설정하는 방법을 제공하지 않습니다. 클라이언트에서는 사용하여 초기화됩니다. sys.application.load 이벤트. 초기화기 후 코드를 실행했지만 사용자가 UI와 상호 작용하기 전에 해당 이벤트 핸들러에서 설정하려는 속성을 설정할 수 있습니다.

다음은 BOLD 버튼과 RTL 버튼을 설정하는 데 필요한 코드입니다. 다른 버튼의 상태를 변경하려면 여기에서 가져갈 수 있습니다.

// Attach a handler to the load event.
Sys.Application.add_load(myOnLoadLoader);

function myOnLoadLoader() {
    //This will run JUST after ALL code that was set to run during the load event has run
    window.setTimeout(myOnLoad, 0);
}

function myOnLoad() {
    var editor = $find('<% =editor.ClientID %>');
    var toolbar = editor.get_changingToolbar();
    var toolbarButtons = toolbar.get_buttons();
    for (var i = 0; i < toolbarButtons.length; i++) {
        var toolbarButton = toolbarButtons[i];
        if (toolbarButton instanceof AjaxControlToolkit.HTMLEditor.ToolbarButton.Rtl ||
        toolbarButton instanceof AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold) {
            toolbarButton.set_activeEditPanel(editor.get_editPanel());
            toolbarButton.callMethod();
        }
    }
}

SYS (및 SYS. APPLICATION)는 ASP.NET Ajax JavaScript (파일)에서 나오는 네임 스페이스입니다. 이것을 사용하는 경우이 줄이 있는지 확인해야합니다. Sys.Application.add_load(myOnLoad); ASP.NET AJAX 파일로드 후 실행됩니다. 이 작업을 몇 가지 방법으로 수행 할 수 있습니다.

  1. 이 스크립트를 ScriptManager보다 페이지에 아래쪽으로 추가하십시오.
  2. 스크립트를 별도의 JS 파일로 이동하고 ScriptManager를 사용하여로드 (권장).

스크립트를 별도의 파일로 옮기면 var editor = $find('<% =youreditor.ClientID %>'); 더 이상 작동하지 않습니다. JavaScript 파일이 서버 태그를 구문 분석하고 ASPX 페이지와 같이 서버 측 값으로 바꾸지 않기 때문입니다. 따라서 여기서 문제가되는 부분은입니다 <% =youreditor.ClientID %>.

그것을 고치려면 여기에 당신이하는 일이 있습니다.

이것을 ASPX 마크 업에 추가하십시오 (헤드 섹션) :

<script language="javascript">
    var myEditorId = '<%= youreditor.ClientID %>';
</script>

그래서 그것은 다음과 같이 보입니다.

<head runat="server">
    <script language="javascript">
        var myEditorId = '<%= youreditor.ClientID %>';
    </script>
<title></title>
</head>

(마스터 페이지를 사용하는 경우 페이지의 ScriptManager 아래에 스크립트 태그를 추가합니다).

그리고 JS 파일에서이를 바꾸십시오

var editor = $find('<% =youreditor.ClientID %>');

이것으로

var editor = $find(myEditorId);

다른 팁

편집기 컨트롤이 기본적으로 RTL을 지원하지 않으므로 CSS를 사용하여이를 수행해야합니다. 다음 CSS는 RTL로 방향을 설정합니다.

div
{
    direction:rtl;
}

HTML 편집기의 기본 스타일은 editor.css 파일에서 찾을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top