使用Javascript扩展文本选择 如果用户选择文本的一部分,我想将该选择扩展到第一行的开头和最后一行的末尾,如果它们在中间选择。p>

使用Javascript扩展文本选择 如果用户选择文本的一部分,我想将该选择扩展到第一行的开头和最后一行的末尾,如果它们在中间选择。p>,javascript,dom,Javascript,Dom,实现这一点的最佳方法是什么?使用SetSelectionRangeBerg、end或selectionStart/selectionEnd更改选择。 基本上,从当前选择范围,您尝试获取要选择的范围索引的开始、结束,然后更改选择。 假设您希望将所选内容换行/扩展到最近的换行符,下面是一个示例代码: 您是在可编辑区域(如textarea)内工作吗?您是指在常规内容内还是在常规内容内进行选择? var x = $("#input input:first")[0]; var value = x.valu

实现这一点的最佳方法是什么?

使用SetSelectionRangeBerg、end或selectionStart/selectionEnd更改选择。 基本上,从当前选择范围,您尝试获取要选择的范围索引的开始、结束,然后更改选择。 假设您希望将所选内容换行/扩展到最近的换行符,下面是一个示例代码:

您是在可编辑区域(如textarea)内工作吗?您是指在常规内容内还是在常规内容内进行选择? var x = $("#input input:first")[0]; var value = x.value; var NEWLINE = '\n'; // whatever is your newline delimiter. var start = value.substr(0, x.selectionStart).lastIndexOf(NEWLINE); if (start == -1) start = 0; var end = value.substr(x.selectionEnd).indexOf(NEWLINE); if (end == -1) end = value.length;

x.setSelectionRange(start, end); or x.selectionStart = start, x.selectionEnd = end;