当粘贴到KendoUI Editor中时,如何从文本中剥离所有html格式?

问题描述 投票:6回答:3

我想使用KendoUI编辑器来基本上只允许用户将文本格式化为段落。可能允许使用粗体和下划线。

我在两件事上挣扎:

  1. 我想在粘贴时从文本中剥离所有html格式
  2. 我想禁用粗体,下划线等键盘快捷键-即使工具栏元素不存在,它们也似乎可以正常工作。

谢谢!

kendo-ui kendo-asp.net-mvc
3个回答
8
投票

对于仅粘贴文本,您可以定义粘贴处理程序,以删除所有文本。这很简单:

$("#editor").kendoEditor({
    paste: function (ev) {
        ev.html = $(ev.html).text();
    }
});

paste处理程序接收作为事件的参数,该事件在html中具有要解析的文本。我们可以使用jQuery通过$(ev.html).text()

仅获取文本

对于删除快捷方式,据我可以使用最新的Kendo UI版本对其进行测试,如果仅定义所需的工具,则只有那些快捷方式处于活动状态。因此,如果您说类似的话:

$("#editor").kendoEditor({
    tools: [
        "italic"
    ],
    paste: function (ev) {
        ev.html = $(ev.html).text();
    }
});

italic快捷方式<ctrl>+i可用。如果将tools数组留空,则没有任何数组。


1
投票

现在可以通过pasteCleanup选项轻松实现。

参见此处:http://docs.telerik.com/kendo-ui/controls/editors/editor/pasting


0
投票

Kendo MVC也为此目的进行了扩展。用法示例:

.PasteCleanup(x => x.KeepNewLines(false))

在这种情况下,[false意味着您想清除除换行以外的所有内容。

© www.soinside.com 2019 - 2024. All rights reserved.