如何更改ACT HTML编辑器的默认设置?我想要加载带有例如选定的粗体按钮或从右到左的方向而不是默认的从左到右的编辑器。
我该怎么做呢?
我已经重写了FillTopToolbar()
方法以添加自定义按钮,但我不知道如何更改默认设置。
由于默认的从左到右被选择了,所以我想将其更改为从右到左。
如何更改ACT HTML编辑器的默认设置?我想要加载带有例如选定的粗体按钮或从右到左的方向而不是默认的从左到右的编辑器。
我该怎么做呢?
我已经重写了FillTopToolbar()
方法以添加自定义按钮,但我不知道如何更改默认设置。
由于默认的从左到右被选择了,所以我想将其更改为从右到左。
我编辑了我的答案以更正一些内容
HTMLEditor不提供使用服务器端代码设置这些按钮状态的方法。然而,在客户端上,它通过使用 Sys.Application.load事件 进行初始化。如果您在用户与UI交互之前运行您的代码,但在其初始化程序之后,那么您可以在该事件处理程序中设置任何要设置的属性。
以下是设置加粗按钮和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的命名空间(通过添加到页面的ScriptManager添加的文件)。如果您使用此功能,请确保此行Sys.Application.add_load(myOnLoad);
在ASP.Net AJAX文件加载后运行。您可以通过以下几种方式实现:
如果将脚本移动到单独的文件中,您会注意到var editor = $find('<% =youreditor.ClientID %>');
不再起作用。这是因为javascript文件不会解析服务器标记并将其替换为服务器端值(与aspx页面不同)。因此,在此处存在问题的部分是<% =youreditor.ClientID %>
。
要解决这个问题,您需要执行以下操作:
将以下内容添加到aspx标记中(在head部分):
<script language="javascript">
var myEditorId = '<%= youreditor.ClientID %>';
</script>
<head runat="server">
<script language="javascript">
var myEditorId = '<%= youreditor.ClientID %>';
</script>
<title></title>
</head>
var editor = $find('<% =youreditor.ClientID %>');
使用这个
var editor = $find(myEditorId);
您需要使用CSS来完成此操作,因为编辑器控件不支持本地rtl。以下CSS将设置方向为rtl -
div
{
direction:rtl;
}
HTML编辑器的默认样式可以在Editor.css文件中找到。