Как гарантировать, что событие размытия обрабатывается одинаково в safari, firefox и chrome для области редактора tinymce 5?
У меня есть область редактирования tinymce 5. Когда пользователь отходит от реального текста, прослушивается событие "размытия" для автоматического сохранения текста. Это хорошо работает в Chrome, но в Safari и Firefox, если пользователь пытается использовать любую из кнопок Tinymce (например, подчеркивание, полужирный и т. Д.), Это также вызывает событие. Мне нужно, чтобы сохранение происходило ТОЛЬКО, когда пользователи перемещают свои мыши вне ВСЕХ компонентов tinymce (т.е. элементов пользовательского интерфейса и фактической текстовой области).
Я использую код инициализации:
tinymce.init({
selector: 'textarea.tinymce',
branding: false,
mode: 'exact',
schema: 'html5-strict',
element_format: 'html',
resize: true,
menubar: false,
plugins: 'preview autolink link visualblocks visualchars hr nonbreaking anchor insertdatetime lists advlist wordcount',
toolbar: 'bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | preview | visualblocks removeformat',
menubar: 'file edit insert format',
browser_spellcheck: true,
contextmenu: false,
init_instance_callback: function (editor) {
editor.on('blur', function (e) {
$("#change_to_do_list_form").submit();
});
}
});
1 ответ
Ну, я не знаю, где вы визуализируете свой редактор, но я столкнулся с этим, когда попытался отобразить редактор в JQuery Ui Dialog; Я не настаивал на том, чтобы найти решение, я изменил способ сохранения путем вычисления последнего нажатия клавиши пользователем и через несколько секунд применил сохранение. в противном случае всякий раз, когда пользователь снова обращается к типу до истечения времени ожидания, я перезагружаю таймер до тех пор, пока пользователь не прекратит печатать.