【问题标题】:Trumbowyg: Insert text at caret not workingTrumbowyg:在插入符号处插入文本不起作用
【发布时间】:2020-08-19 16:40:29
【问题描述】:

我有一个按钮,点击它时我想在编辑器中添加一些文本。

我看到了一些人们给出解决方案的问题,我尝试了一下。但是当我将 restoreRangeexecCmdinsertHTML 一起使用时,它不会在插入符号处插入,只有在之前在编辑器中输入了某些内容时,例如一个字符或一个空格。

换句话说,当点击编辑器时,它不会在我点击时插入插入符号的位置,但在写东西时,它会。

就像 restoreRange 只在写东西时起作用。

问题发生在以下代码中:

$('#editor').trumbowyg({
  btnsDef: {
    testButton: {
      fn: function () {
        // Restore the previous position
        $("#editor").trumbowyg('restoreRange');
        // Add text in the current position 
        $("#editor").trumbowyg('execCmd',
        {
          cmd: 'insertHTML',
          param: 'Dummy text',
          forceCss: false
        });
      },
      title: 'test button',
      text: 'insert text',
      hasIcon: false
    }  
  },
  btns: [
    ['testButton'],
  ]
});

在这里重现问题: https://jsfiddle.net/95nqv076/

我错过了什么吗?

【问题讨论】:

    标签: jquery trumbowyg


    【解决方案1】:

    找到解决方案:将范围保存在模糊和焦点上。

    $('#editor').trumbowyg({
    btnsDef: {
      testButton: {
        fn: function () {
          $("#editor").trumbowyg('restoreRange');
          $("#editor").trumbowyg('execCmd',
            {
          cmd: 'insertHTML',
              param: 'Dummy text',
              forceCss: false
            });
          },
          title: 'Button tooltip',
          text: 'Displayed button name',
          hasIcon: false
        }
      },
      btns: [
        ['testButton'],
      ]
    }).on('tbwblur', function(){
      $("#editor").trumbowyg('saveRange');
    }).on('tbwfocus', function(){
      $("#editor").trumbowyg('saveRange');
    });
    

    希望它对某人有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-19
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      相关资源
      最近更新 更多