Подобно атрибуту «отключено» текстового поля.
он будет аналогичен режиму только для чтения, только пользователь не сможет взаимодействовать с редактором. Таким образом, курсор и любые маркеры линий будут скрыты.
@gissues :{"заказ":73.29192546583863,"статус":"отставание"}
Это где-нибудь реализовано? Я также нашел бы эту функцию очень полезной.
Каков вариант использования для этого? Я не хочу добавлять это в ядро, так как оно редко используется и его легко реализовать.
Что-то типа
editor.container.style.pointerEvents="none"
editor.container.style.opacity=0.5 // or use svg filter to make it gray
editor.renderer.setStyle("disabled", true)
editor.blur()
или это
var cover = document.createElement("div")
editor.container.appendChild(cover)
cover.style.cssText = "position:absolute;\
top:0;bottom:0;right:0;left:0;\
background:rgba(150,150,150,0.5);\
z-index:100"
cover.addEventListener("mousedown", function(e){e.stopPropagation()}, true)
должно сработать.
Цель состоит не в том, чтобы сделать его визуально отключенным, а в том, чтобы лишить пользователя возможности взаимодействовать с ним. Т.е. они не могут управлять курсором (даже лучше, курсора не существует).
Это просто более строгий тип только для чтения, а не «отключено». Это было бы удобно при использовании редактора для отображения образцов кода или вывода запущенных программ на веб-странице. Хотя это может быть не идеальное использование редактора, его функции, такие как подсветка синтаксиса и общий приятный внешний вид, делают его привлекательным вариантом для подобных вещей.
Оба примера кода на самом деле этого не делают. Ни один из них не удаляет курсор, и хотя они довольно хорошо справляются с задачей, не позволяя пользователю управлять курсором, фокус можно переместить на вкладку в редакторе.
А, теперь я вижу.
Но какая часть функций редактора должна быть отключена, зависит от конкретного варианта использования.
Я думаю, что выбор и возможность сфокусировать редактор не должны быть отключены ни в одном из этих случаев. Виртуальное окно просмотра будет полезно для отображения вывода, но выбор браузера не может с ним работать. А для примеров кода обычно приятно иметь возможность делать ctrl+a ctrl+c
.
Чтобы скрыть курсор и выделение строк
editor.setOptions({
readOnly: true,
highlightActiveLine: false,
highlightGutterLine: false
})
editor.renderer.$cursorLayer.element.style.opacity=0
сделать редактор недоступным для вкладок
editor.textInput.getElement().tabIndex=-1
or
editor.textInput.getElement().disabled=true
чтобы отключить все ярлыки
editor.commands.commmandKeyBinding={}
также я могу добавить методы уничтожения для $mouseHandler и textInput, чтобы полностью их отключить.
Отлично, это имеет эффект, который я искал. Я согласен с тем, что требования различаются в зависимости от конкретного варианта использования, но может быть удобно иметь несколько вариантов отключения таких вещей, как курсоры, ярлыки и т. д.
Кроме того, последняя строка кода выше, похоже, вообще не позволяет редактору отображать что-либо. :/
Кроме того, последняя строка кода выше, похоже, вообще не позволяет редактору отображать что-либо. :/
ты имеешь в виду editor.commands.commmandKeyBinding={}
? это было бы очень странно
Спасибо за это!
Спасибо, определенно нужна возможность сделать редактор отключенным!
Привет, ты реализовал уничтожитель $mouseHandler? Я немного потерялся (новичок здесь). Или есть способ его отключить? Кстати, спасибо за отключение редактора :-)
@найтвинг
editor.renderer.$cursorLayer.element.style.opacity=0
Кажется, $cursorLayer теперь не является атрибутом VirtualRenderer.
Я хочу скрыть курсор, когда мой редактор находится в состоянии «Только для чтения», и я пробую указанный вами метод, но он не работает по той причине, что $cursorLayer не является атрибутом VirtualRenderer; есть ли другой способ скрыть курсор?
Я обнаружил, что в VirtualRenderer есть два метода: hideCursor() и setCursorStyle(), и я пытаюсь использовать их ниже. Но это тоже не работает.
this._editor.renderer.hideCursor();
this._editor.renderer.setCursorStyle("Непрозрачность: 0;");
Я ошибаюсь в использовании?
Работа продолжается? Я хотел бы отключить редактор, когда фокус выходит из него.
То же самое! Я хотел бы использовать метод renderer.hideCursor(), но он не работает. Я пытался вызвать его в блоке инициализации моего редактора и в событии changeCursor
, но не могу заставить его работать.
для людей, которые все еще хотят отключить курсор, используйте свойство css3 pointer-events: none;
в элементе редактора.
Как отключить редактор, все еще новый разработчик реакции? Пожалуйста, будем признательны за любую помощь
для людей, которые все еще хотят отключить курсор, используйте свойство css3
pointer-events: none;
в элементе редактора.
Как отключить редактор?
для людей, которые все еще хотят отключить курсор, используйте свойство css3
pointer-events: none;
в элементе редактора.Как отключить редактор?
editor.setOptions({
readOnly: true,
})
Работал как шарм
В среду, 23 сентября 2020 г., 22:27 .
написал:
для людей, которые все еще хотят отключить курсор, используйте свойства css3 pointer-events:
никто; в элементе редактора.Как отключить редактор?
editor.setOptions({
только для чтения: правда,
})—
Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ajaxorg/ace/issues/266#issuecomment-698073286 или
отписаться
https://github.com/notifications/unsubscribe-auth/ALIR2LMEV5BHDXPXO7RT5BTSHKVAPANCNFSM4AESJK3A
.
Самый полезный комментарий
А, теперь я вижу.
Но какая часть функций редактора должна быть отключена, зависит от конкретного варианта использования.
Я думаю, что выбор и возможность сфокусировать редактор не должны быть отключены ни в одном из этих случаев. Виртуальное окно просмотра будет полезно для отображения вывода, но выбор браузера не может с ним работать. А для примеров кода обычно приятно иметь возможность делать
ctrl+a ctrl+c
.Чтобы скрыть курсор и выделение строк
сделать редактор недоступным для вкладок
чтобы отключить все ярлыки
также я могу добавить методы уничтожения для $mouseHandler и textInput, чтобы полностью их отключить.