Как обернуть таблицу, созданную командой InsertTable, внутри div - PullRequest
0 голосов
/ 29 марта 2019

Я видел этот код в одном из учебных пособий, которые я видел, но этот добавляет класс к элементу 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);
};

1 Ответ

1 голос
/ 31 марта 2019

Используйте клиентское событие OnClientPasteHtml , где вы получите вставленную таблицу с помощью метода 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

...