我想让奎尔杰识别出新的线条,但我不知道怎么。。。
例如:我有4行,除了空行,我想在每行的前面和结尾加上“*”。
例子:
*第1行*空*第3行**第4行*
提前谢谢!:-)
编辑:
以下是我的代码的当前状态

var boldButton = document.querySelector('.ql-bold');
boldButton.addEventListener('click', function() {
        var sel = quill.getSelection();
        if (sel) {
            quill.insertText(sel.index, "*");
            quill.insertText(sel.index+sel.length+1, "*");
            quill.setSelection({index:sel.index+1, length:sel.length});
        }
    })

最佳答案

这是一个粗略的解决方案,但有效。
它查找换行符(在我的例子中是\n)并计算行长度:

boldButton.addEventListener('click', function() {
      var sel = quill.getSelection();
      var text = quill.getText(sel.index, sel.length);
      if (sel) {
          // GET ALL LINE LENGTH (MAY ADAPT FOR LINES WITH ONLY SPACES/TABS/...)
          var linesLengths = text.split("\n").map(function(line){
            return line.length;
          });

          var startPosition = sel.index;
          for(var idx = 0; idx < linesLengths.length; idx++){
            var currentLineLength = linesLengths[idx];
            // ONLY MARK LINES WITH SOME CONTENT
            if(currentLineLength > 0){
              quill.insertText(startPosition, "*");
              quill.insertText(startPosition + currentLineLength + 1, "*");
              // PREPARE NEW STARTPOSITION
              startPosition += currentLineLength + 2;
            }
            // COUNT THE NEWLINE SYMBOL
            startPosition++;
          }
      }
  });

可以优化,但我留给读者的是。

关于javascript - 在Quill.JS中识别换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44879703/

10-12 12:25
查看更多