Javascript 获取页面上当前选定的文本
如何在文本区域中获取当前选定的文本(并对其进行修改) 我已经看到了可以收听的select事件,但是我想知道是否有一种方法可以只获取当前选中的文本 另外,为了能够修改textarea中的特定文本部分,您需要使用什么技术?我假设有某种方法可以找出整个textarea的内容中选择的位置是什么 我希望能够做的是获取选择并修改它,或者将其包装在特定的标记中等,就像您可以在stackexchange文本编辑器中所做的那样。从此页开始Javascript 获取页面上当前选定的文本,javascript,jquery,wysiwyg,textselection,Javascript,Jquery,Wysiwyg,Textselection,如何在文本区域中获取当前选定的文本(并对其进行修改) 我已经看到了可以收听的select事件,但是我想知道是否有一种方法可以只获取当前选中的文本 另外,为了能够修改textarea中的特定文本部分,您需要使用什么技术?我假设有某种方法可以找出整个textarea的内容中选择的位置是什么 我希望能够做的是获取选择并修改它,或者将其包装在特定的标记中等,就像您可以在stackexchange文本编辑器中所做的那样。从此页开始 功能显示(txtarea){ var sl=(txtarea.value
功能显示(txtarea){
var sl=(txtarea.value)
.子字符串(txtarea.selectionStart、txtarea.selectionEnd);
}
jquery字段选择插件。。
网站上的示例。如果您只需要支持最新的浏览器,您可以使用
selectionStart
和selectionEnd
属性来显示文本区域中所选文本的字符位置。您不能仅修改所选文本,但在更新了值后,可以使用setSelectionRange
重新选择文本。选择选择器也可以工作。
在很多堆栈溢出(包括IE<9)中,我已经发布了我所考虑的最终功能。这里有一个例子:
我还建议您使用此功能,其中包括插入、删除、环绕或替换所选文本的功能和其他功能,这些功能听起来正是您想要的。它也是我所知道的唯一一个用于文本区域选择的jQuery插件,可以在IE<9中正确地使用换行符。感谢
setSelectionRange
tipTo更具体地介绍浏览器,selectionStart
和selectionEnd
在除IE<9之外的所有主要功能中都很好。另外,selectionStart
和selectionEnd
是可写的,因此您可以使用它们或setSelectionRange()
。我不知道为什么会有冗余。fieldselection插件在IE<9且换行的情况下不能正常工作。
function display(txtarea) {
var sl = (txtarea.value)
.substring(txtarea.selectionStart, txtarea.selectionEnd);
}
<body onload="thisForm=document.frmKey;">