我无法访问实际的asp.net服务器标签本身,因此我需要使用JavaScript将StripFormattingOnPaste
property更改为EditorStripFormattingOptions
enum,我不知道如何操作。我有一些代码添加OnClientLoad()
和OnClientCommandExecuted()
函数,因此我可以在那里添加它,我只是不确定客户端的属性存在于哪里以及枚举值是什么是:
// init OnClientLoad and OnClientCommandExecuted event handlers for all radeditors on the page
Sys.Application.add_load(function() {
if (typeof ($telerik) != "undefined") {
if ($telerik.radControls && Telerik.Web.UI.RadEditor) {
for (var i = 0, l = $telerik.radControls.length; i < l; i++) {
var control = $telerik.radControls[i];
if (Telerik.Web.UI.RadEditor.isInstanceOfType(control)) {
var editor = control;
// ??? editor._stripFormattingOptions = Telerik.Web.UI.StripFormattingOptions.NoneSupressCleanMessage
// editor already loaded, fire event
OnClientLoad(editor);
// attach event handler for paste commands
editor.add_commandExecuted(function(ed, args) {
return OnClientCommandExecuted(ed, args);
});
}
}
}
}
});
更新:我发现我想要的正确枚举设置为Telerik.Web.UI.StripFormattingOptions.NoneSupressCleanMessage
。
更新#2:我看到RadEditor JS对象具有_stripFormattingOptions
属性,但我认为它可能仅供私人使用。
答案 0 :(得分:1)
Telerik控件基于ASP.NET AJAX并使用几乎相同的编码约定 - 公共属性具有getter和setter方法。在这种情况下,您应该使用
editor.set_stripFormattingOptions(Telerik.Web.UI.StripFormattingOptions.NoneSupressCleanMessage);
要获取当前值,请使用
var value = editor.get_stripFormattingOptions();
您看到的属性(editor._stripFormattingOptions)仅用于存储值。由于它的名字以下划线开头,因此您可以认为它是私有的,因此您不应该依赖它。 getter和setter方法是公共的,您可以自由使用它们。