从 wysihtml5 编辑器获取当前选定的文本

Getting current selected text from wysihtml5 editor

提问人:Manisha Biswas 提问时间:5/26/2017 更新时间:7/30/2019 访问量:609

问:

最近,我使用了 wysihtml5 编辑器,但无法获得编辑器的选定文本。使用 JQuery,我已经编写了这个代码片段,但它不起作用。

var len = $("#ticketmessage").val().length;
            var start = $("#ticketmessage")[0].selectionStart;
            var end = $("#ticketmessage")[0].selectionEnd;
            var sel = $("#ticketmessage").val().substring(start, end);

感谢和问候

玛尼莎·比斯瓦斯

javascript jquery 引导程序-wysihtml5

评论

0赞 Mayank Pandeyz 5/26/2017
提供 JSFiddle 链接

答:

0赞 danwellman 5/26/2017 #1

您是否尝试过使用全局对象的方法?这用于获取页面上当前选择(突出显示)的文本,例如:getSelectionwindow

var text = window.getSelection().toString();

或者,您可能需要使用界面来获取所选文本,例如:Range

var text = document.selection.createRange().text;

有关一些使用示例,请参阅此 SO 答案

0赞 Дмитрий Калашников 7/30/2019 #2

请尝试以下示例:

  self.editor = new wysihtml5.Editor("my-editor", {
      parserRules: wysihtml5ParserRules,
      useLineBreaks: true,
      stylesheets: [self.editorCss]
    });

 var selection = new wysihtml5.Selection(self.editor);
 var selectedText = selection.editor.composer.selection.getText();