阿贾克斯控制的工具包HTML编制问题吗?
-
20-09-2019 - |
题
如何改变缺省设置法》的编辑器? 我想负荷编辑例如选大胆的按钮或与劳动教养方向,而不是ltr defaultly.
我怎么可以执行?我重写 FillTopToolbar()
方法添加自定义的按钮,但我不知道如何以更改的缺省设置。
作为默认ltr选我想改变它rtl。
解决方案
我编辑我的回答正确一些事情
该HTMLEditor没有提供一种方式设置状态的那些按钮使用服务器端码。虽然,在客户,它通过使用初始化 Sys.应用程序。负载的事件.如果你跑了你的代码之后,其初始化,但在此之前,用户将与用户界面,你可以那么设置的任何性质的你要在这一事件的处理程序。
这里是代码需要设置的大胆的按钮和劳动教养的按钮国。你可以把它从这里如果你想改变该国的其他按钮:
// 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.应用)是一个名字空间,来自ASP.Net 阿贾克斯javascript(文件(s)加感谢ScriptManager添加到你页)。如果你用这个,你需要确保这条线 Sys.Application.add_load(myOnLoad);
用完后ASP.Net 阿贾克斯文件载荷。你可以做到这几个方面:
- 加入这个脚本较低的页面,比scriptManager.
- 移动你的脚到一个单独的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);
其他提示
您需要做到这一点使用CSS的编辑控件不支持原生的RTL。下面的CSS将设置方向为rtl -
div
{
direction:rtl;
}
可以在Editor.css文件中找到的HTML编辑器的默认的样式。