Задать вопрос
zorro76
@zorro76

Как правильно стригерить событие keydown?

Работаю с редактором Froala-editor и вот столкнулся с ситуацией: когда вставляем большой текст то редактор не подстраивается по высоте под него
использую событие paste.before и плагин sweetAlert (для вывода сообщения) - все работает корректно, кроме вставки большого текста (если просто пишем в редакторе то все ок - он автоматически по высоте увеличивается)
что в коде: идет проверка какой текст мы вставляем и что далее с ним делаем
'paste.before': function (clipboardHtml) {
                        var editor = this;
                        var data = {};
                        _.each(clipboardHtml.clipboardData.items, function (item) {
                            data[item.type] = ' ';
                            if (item.type === 'text/html')
                                item.getAsString((val) => (data['text/html'] = val))
                            else if (item.type === 'text/plain')
                                item.getAsString((val) => (data['text/plain'] = val))
                        })
                        if (data['text/plain'] && data['text/html']) {
                            sweetAlert({
                                showCancelButton: true,
                                showConfirmButton: true,
                                confirmButtonText: 'Keep Format',
                                cancelButtonText: 'Plain Text',
                                customClass: 'paste-word',
                                title: 'How do you want to paste your text?',
                                text: 'You can paste your text with the original format or as plain text with no formatting',
                                type: 'info'
                            }).then(
                                function () {
                                    // Keep format
                                    editor.html.insert(data['text/html'], true);
                                },
                                function (dismiss) {
                                    // Insert plain text
                                    editor.html.insert(data['text/plain'].replace(/\n/g, '<br>').replace(/ /g, '&nbsp;'), false);
                                }
                            );
                            return false;
                        }
                    }

визуально это выглядит так:
6066ebaef3583907009642.png
далее когда выбираем какой формат сохранения текста происходит вставка этого текста
6066ec9ca5687440146339.jpeg
и как видно со скрина (текст был длинный) он просто обрезался,
но если нажать enter или другую какую-либо клавишу то все становиться норм попап растягивается по высоте текста

выходит мне нужно каким то образом тригерить в этом коде keydown при вставке текста
я пробовал что-то вреде этого
var e = $.Event('keydown');
 e.which = 86; //command + v
$('.fr-view').trigger(e) - блок в который вставляем копируемый текст

но это к сожалению не работает, если кто-то стыкался с подобной проблемой или знает как это можно решить, буду рад полученным советам. Спасибо
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽