jquery - 将所选文本缩进 4 个空格

标签 jquery selection markdown indentation

我想缩进 <textarea> 中选定的文本4 个空格,就像 StackOverflow 使用 jQuery 对代码所做的那样。我这样做是为了创建一个类似于 SO 的文本编辑器,但仅具有基本功能。

我不需要现成编辑器的链接或建议;我已经得到了我想要的一切,除了上面的问题。有人可以给我一些关于如何缩进所选文本或一些代码片段的指示吗?

谢谢。

最佳答案

function indentSelection() {
    var selection = $(this).getSelection().text;
    var textarea = $(this);
    var result = '';
    var lines = selection.split('\n');
    var space = '    ';
    for(var i = 0; i < lines.length; i++)
    {
        result += space + lines[i] + '\n';
    }
    var new_text = textarea.val().split(selection).join(result);
    textarea.val(new_text);
}

应该这样做。有关如何获取所选文本(此处已缩短)的示例,请参阅 How to get selected text in textarea?

关于jquery - 将所选文本缩进 4 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718426/

相关文章:

reactjs - Tailwind/排版如何在 React 项目中与 markdown-it 良好配合?

javascript - 使用 jQuery 禁用动态 id 按钮

javascript - 鼠标悬停在图像上时的快速预览功能

javascript - 使用 jQuery DataTables 和 colResizable 调整列大小的问题

javascript - 替换 HTML 然后将文档片段添加回 html

javafx - 如何改变TableView的选择行为?

python - 使用 QTextCursor 复制选定的文本

javascript - jquery 小部件多次调用

html - 将另一个文件中的 html 嵌入到 markdown 文档中

r - 通过 R 创建可填充的 PDF 文本框