0

我无权访问实际的 asp.net 服务器标记本身,因此我需要使用 JavaScript 将StripFormattingOnPaste属性更改为EditorStripFormattingOptions枚举,但我不确定如何操作。我有一些代码可以添加一个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属性,但我认为它可能仅供私人使用。

4

1 回答 1

1

Telerik 控件基于 ASP.NET AJAX 并使用几乎相同的编码约定 - 公共属性具有 getter 和 setter 方法。在这种情况下,您应该使用

editor.set_stripFormattingOptions(Telerik.Web.UI.StripFormattingOptions.NoneSupressCleanMessage);

要获取当前值,请使用

var value = editor.get_stripFormattingOptions();

您看到的属性 (editor._stripFormattingOptions) 仅用于存储值。由于它的名称以下划线开头,因此您认为它是私有的是正确的,因此您不应该依赖它。getter 和 setter 方法是公开的,您可以自由使用它们。

于 2009-11-27T23:08:42.987 回答