Как выбрать несколько элементов в RadEditor в ie11

Я работаю над приложением на основе ASP.NET, работающим в IE11.

Одна часть приложения использует (Telerik) RadEditor для создания макета из нескольких элементов. Я пытаюсь реализовать функцию, которая позволяет пользователю выбирать несколько элементов, а затем выравнивать их по вертикали или горизонтали. Мне сказали, что эта функция когда-то работала, но перестала работать, когда IE обновился с 9 до 10 или с 10 до 11.

Я могу выбрать (граница выбора отображается на всех выбранных элементах) несколько элементов на странице (в пространстве содержимого (Telerik) RadEditor), удерживая Ctrl + щелчок. Моя проблема в том, что редактор не может найти все выбранные элементы, а возвращает первый.

Соответствующий (Javascript) код:

var editor = $find("RadEditor1");
var theSelectionObject = editor.getSelection();
var tempElem = editor.getSelectedElement();

И theSelectionObject, и tempElem являются ссылками на один объект. Как я могу получить коллекцию ВСЕХ выбранных элементов или иным образом определить, какие элементы выбраны для использования в последующем коде?


person GreySage    schedule 22.02.2018    source источник
comment
Думаю, это то, что вам нужно: telerik.com/ support / code-library / Если вы не можете заставить его работать, дайте мне знать, и я постараюсь помочь вам его реализовать.   -  person DaniDev    schedule 22.02.2018
comment
Просматривая этот код, который вы связали, я не думаю, что он пытается решить ту же проблему, что и я, но я пытаюсь это сделать. Когда я выбираю новую опцию на своей панели инструментов, я получаю ошибку 404. Куда мне поместить файл CssExtender.aspx? В настоящее время запрашивается URL-адрес /Providers/HtmlEditorProviders/ToFlexWYSIWYGProvider09/Toolbars/CssExtender.aspx, но я не могу найти его в своем проекте.   -  person GreySage    schedule 23.02.2018
comment
CssExtender.aspx - это вспомогательная страница редактора, которую вы должны создать и изменить местоположение в соответствии с тем, куда вы ее поместили. Это может быть больше, чем вам нужно. Я думаю, вы можете попробовать использовать RadEditor.getSelectedElement (), а не .getSelection ().   -  person DaniDev    schedule 23.02.2018
comment
@DaniDev Я создал файл CssExtender.aspx, он находится в каталоге рядом с файлом, из которого я его загружаю. Я не понимаю, где и как это включить. Я пробовал использовать getSelectedElement (), и он возвращает только один элемент. Я пытаюсь получить несколько элементов одновременно.   -  person GreySage    schedule 23.02.2018
comment
Да, я понимаю, что вы пытаетесь это сделать. Похоже, что функции, предоставляемые Telerik, не могут сделать это за вас. Но хорошая новость заключается в том, что вы можете написать свою собственную библиотечную функцию JavaScript, которая получит все выбранные элементы в вашем редакторе. Обсуждаемый пример может помочь вам, поскольку он показывает, как реализовать вспомогательный интерфейс редактора, выбирая несколько элементов по классу CSS.   -  person DaniDev    schedule 23.02.2018


Ответы (1)


Версия IE метода execCommand браузера предлагает параметр MultipleSelection, который позволяет выбрать более одного элемента сайта за раз, когда пользователь удерживает клавиши SHIFT или CTRL. Дополнительную информацию можно найти по адресу https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/hh801232 (v% 3dvs.85) #multipleselection < / а>

Чтобы запустить этот метод через API RadEditor, выполните следующие действия:

editor.get_document().execCommand('MultipleSelection', true, true);
person Rumen Jekov    schedule 07.12.2018