Свойство selection
документа хранит выбранные объекты. В режиме редактирования текста выделение сохраняет TextRange
, поэтому selection = null
не снимает выделение с самого текстового объекта, а сбрасывает выбранный диапазон символов.
Если нам нужно остановить редактирование текста и выделить какой-то объект документа, возникает ошибка, что объект выделен, а курсор в тексте активен. Вручную воспроизвести его невозможно.
selection = null; app.activeDocument.pageItems[0].selected = true;
В Illustrator CS6 и выше можно вызывать команды меню через app.executeMenuCommand()
. Таким образом, вы можете отменить выбор текста, который редактируете, с помощью команды меню «Выбрать» → «Отменить выбор».
app.executeMenuCommand("deselectall"); app.activeDocument.pageItems[0].selected = true;
В CC 2020 есть команда переключения инструментов app.selectTool
. Значит другой способ: переключите активный Type Tool на любой другой и тогда selection = null
сбросит выделение именно с текстового объекта. Метод не подходит для предыдущих версий Illustrator, но имеет право на жизнь.
Сообщите мне, было ли это полезно для вас. Меня можно найти: Facebook / Github / Telegram