我想让奎尔杰识别出新的线条,但我不知道怎么。。。
例如:我有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/