Summernote如何专注于文本的结尾

时间:2016-09-08 17:22:49

标签: javascript jquery summernote

我目前正在使用summernote 0.8.2,而且我正在使用预装了文字的便条。当文本加载时,我希望它能够聚焦,但是要集中在该行的末尾。我尝试根据API进行聚焦。但是,我尝试过聚焦,但它并没有从生产线末端开始。以下是我根据this问题尝试过的示例。请帮忙。 (我希望光标位于"项目2&#34之后;)



first

$("#myNote").summernote({
            toolbar: [
                ['para', ['ul']] 
            ],
            focus: true
        });
$('.note-editor [data-event="insertUnorderedList"]').tooltip('disable');

$('.note-btn.btn.btn-default.btn-sm').attr('data-original-title','');


var html = "<ul><li>item 1</li><li>item 2<br></li></ul>";
$("#myNote").summernote('code',html);
$("#myNote").focus();
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

不要在初始化的Summernote编辑器上调用焦点方法,而是尝试调用自定义jQuery方法placeCursorAtEnd

我自己也在做这些事情:

var $el = this.$el;
$el.find('.inline-preview .component-text-editor')
    .summernote(this.advancedEditor)

$el.find('[contenteditable]').placeCursorAtEnd();

其中this.advancedEditor是一个传递给我们的summernote初始化方法的选项对象。

答案 1 :(得分:0)

答案中建议的

placeCursorAtEnd()是问题中的自定义模块。

我们基于Summernote创建了一个网页设计器,并集成了该功能。
Sommernote使用DIV元素而不是TEXTAREA,这限制了光标定位的其他可能解决方案。

请为placeCursorAtEnd()

  1. 关注元素。
  2. lastNode可能没有子节点。在这种情况下,请使用lastNode的长度。
  3. 使用range.collapse(false)表示结束,不使用true表示开始。
  4. 使用scrollTop = 999999将该元素滚动到视图中。