我想使用jQuery将选定的文本在
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);
}
应该这样做。有关如何获取所选文本的示例(此处已缩短)请参见如何在文本区域中获取所选文本?
replace()
方法来实现这个功能。只需要将换行符替换为一个换行符加上四个空格即可:function indentSelection(textarea) {
$(textarea).val(
$(textarea).val().substring(0, textarea.selectionStart)
+ $(textarea).getSelection().text.replace(/\n/m,' \n')
+ $(textarea).val().substring(textarea.selectionEnd)
);
}
window.getSelection()
和相关函数(这里:http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html)无法选择文本框内的文本。 - Bojangles