Summernote: установить фокус после инициализации

Summernote дает вам возможность дать фокус редактору при его создании, передавая эти параметры:

$('#summernote').summernote({
     focus: true
});

но после инициализации, похоже, вы не можете сосредоточиться на textarea, нажав кнопку или подобное. Я пробовал несколько способов, но безуспешно.

кто это сделал?

4 ответов


$('.summernote').summernote('focus')

ps. я хочу найти угловатый выход .. и это работает


вернувшись к этой проблеме и попробовав много решений, я пришел к одному, который работает:

$('.note-editable').trigger('focus');

запуск события через jQuery работает, но с помощью


$(document).ready(function () {
                        $.fn.extend({
                            placeCursorAtEnd: function () {
                                // Places the cursor at the end of a contenteditable container (should also work for textarea / input)
                                if (this.length === 0) {
                                    throw new Error("Cannot manipulate an element if there is no element!");
                                }
                                var el = this[0];
                                var range = document.createRange();
                                var sel = window.getSelection();
                                var childLength = el.childNodes.length;
                                if (childLength > 0) {
                                    var lastNode = el.childNodes[childLength - 1];
                                    var lastNodeChildren = lastNode.childNodes.length;
                                    range.setStart(lastNode, lastNodeChildren);
                                    range.collapse(true);
                                    sel.removeAllRanges();
                                    sel.addRange(range);
                                }
                                return this;
                            }
                        });
                    });

затем:

$('.note-editable').click(function(){
                                  //$('#summernote').summernote('focus');
                                  $(this).placeCursorAtEnd();
                                });

①focus на нажмите Ocusfocus в конце содержания

Она работает на мобильном устройстве тоже


Вы можете установить фокус, поставив акцент на редактируемый div используется Summernote:

document.querySelectorAll(".note-editable").focus();

или с помощью JQuery

$('#summernote').find('.note-editable').focus();