如何在div中包装由InsertTable命令生成的表

问题描述 投票:0回答:1

我在我看过的其中一个教程中看到了这个代码,但是这个代码在table元素中添加了类。

var RadEditorCommandList = Telerik.Web.UI.Editor.CommandList;

var table = RadEditorCommandList["InsertTable"];
RadEditorCommandList["InsertTable"] = function (commandName, editor, args) {
    table(commandName, editor, args);
    var p = editor.getSelectedElement().parentNode.parentNode.parentNode;
    p.classList.add("editor-table")
};

我想知道如果我想将表包装在div中,我怎么能扩展这个命令,这是我失败的尝试(它不再在编辑器上显示一个表):

var table = Telerik.Web.UI.Editor.CommandList['InsertTable'];
Telerik.Web.UI.Editor.CommandList['InsertTable'] = function(
  commandName,
  editor,
  args
) {
  table(commandName, editor, args);
  var wrapper = document.createElement('div');
  wrapper.classList.add('table-wrapper');
  var p = editor.getSelectedElement().parentNode.parentNode.parentNode;
  wrapper.appendChild(p);
};
javascript telerik rte
1个回答
1
投票

使用OnClientPasteHtml client-event,您将使用args.get_value()方法获取插入的表,将其修改为div包装器并通过args.set_value()方法粘贴它。

你可以在https://www.telerik.com/support/kb/aspnet-ajax/editor/details/inserting-new-tables-with-a-header-row-as-default查看一个例子

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