Как удалить лишнее HTML форматирование после вставки контента в Редактор kendo
Требование:
Существует элемент управления textarea (name: txtFName). Когда пользователи введут там какое-то значение и нажмут на кнопку, то редактор Kendo должен открыться, и этот текст из "txtFName" должен быть вставлен в Редактор Kendo, под "
...
" метка. Курсор должен продолжать мигать сразу после вставленного текста.Проблема:
Данные из "txtFName" вставляются в Редактор kendo, но курсор мигает на следующей строке, а не после вставленного текста. Когда я отлаживал, то увидел, что после вставленного текста добавляется дополнительный тег "div". Если бы я мог удалить тег "div" или установить курсор сразу после вставленного текста, то это было бы идеально.!!!
Что я уже пробовал:
Я пытался несколькими способами:
1. Подписавшись событие вставки и удаления "див" теги от туда -
function txtSelectedTemplatePasteCleanUp(e) { try { e.innerHTML = e.innerHTML.replace(/<\/?div[^>]*>/g, ""); } catch (oErr) { CHW.HandleError(oErr, "", arguments); } }
Затем подписавшись на вышеприведенный метод, как показано ниже:
$("#txtSelectedTemplate").kendoEditor({ tools: [ ], select: function (e) { txtSelectedTemplateClick(e); }, keydown: function (e) { txtSelectedTemplateKeyUp(e); }, paste: function (e) { txtSelectedTemplatePasteCleanUp(e); } }); kEditor = $("#txtSelectedTemplate").data("kendoEditor");
Но, таким образом, он не был вызван. Итак, я снова вызвал его OnLoad(), как показано ниже:
txtSelectedTemplate.focus(); txtSelectedTemplatePasteCleanUp(kEditor.body);
2. Путем расчета текущей позиции курсора и установив его через редактор кендо функций, связанных с -
this.moveCaret = function (position) { var range = widget.editor.getRange(); if (range.collapsed) { var textNode = widget.editor.body.firstChild; range.setStart(textNode, position); range.collapse(true); // collapse to start widget.editor.selectRange(range); } }
Затем называя его как ниже:
txtSelectedTemplate.focus(); var pp = txtSelectedTemplate.GetCursorPosition(); txtSelectedTemplate.moveCaret(pp);
Вышеописанные два приема я реализовал после вставки текста в Редактор.
Пожалуйста, помогите мне установить курсор после окончания текста и предотвратить создание дополнительных HTML-элементов.
Примечание: пожалуйста, спросите меня, если вам нужны дополнительные разъяснения по этой проблеме.
Спасибо,
Агниб
Richard Deeming
Возможно, Вам повезет больше, если вы разместите свой вопрос на форумах поддержки Telerik:
Редактор в Kendo UI для форумов jQuery - Telerik[^]