Добавление функциональности в редактор среды daviferreira WYSIWYG
Я делаю плагин, чтобы сделать его средний редактор более похожим на средний. Я не уверен, как отключить способность пользователя нажимать клавишу ввода, если он ничего не набрал, или как добавить строку, разделяющую абзацы, если пользователь нажимает клавишу ввода дважды.
3 ответа
Средний редактор поддерживает disableDoubleReturn
вариант, который вы можете передать в редактор во время создания экземпляра. Это предотвращает возможность пользователю иметь 2 или более последовательных новых строк. Я считаю, что это выполнит первое требование, которое вы перечислили.
var mediumEditor = new MediumEditor('.editor', { disableDoubleReturn: true });
Чтобы выполнить 2-е требование, которое вы перечислили, вы могли бы добавить некоторые функции в сам редактор среды, чтобы вызвать обратный вызов, когда пользователь нажимает клавишу возврата или даже добавить hrBetweenParagraphs
опция, которая может добавить строку между последовательными абзацами.
Вы можете реализовать любой из них в bindReturn
метод core.js
в самой последней версии репо, так как именно здесь обрабатывается нажатие клавиши ввода. Мы принимаем много запросов на получение очень часто, поэтому мы будем рады принять что-то вроде этого:)
Для идей кода, взгляните на grande.js, который реализует обе эти тонкие функции:
https://github.com/mduvall/grande.js/
В частности: function preprocessKeyDown()
а также function insertHorizontalRule()
Поскольку вы используете редактор Дэви. Вы можете добавить свой код в bindParagraphCreation для ввода, нажмите клавишу, где keyevent.which == 13, проверьте
TextContent
внутри узла... и если он пуст, остановите событие с помощью protectdefault() и вернитесь... во-вторых, вы можете сделать то же самое только:)