Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取页面上当前选定的文本_Javascript_Jquery_Wysiwyg_Textselection - Fatal编程技术网

Javascript 获取页面上当前选定的文本

Javascript 获取页面上当前选定的文本,javascript,jquery,wysiwyg,textselection,Javascript,Jquery,Wysiwyg,Textselection,如何在文本区域中获取当前选定的文本(并对其进行修改) 我已经看到了可以收听的select事件,但是我想知道是否有一种方法可以只获取当前选中的文本 另外,为了能够修改textarea中的特定文本部分,您需要使用什么技术?我假设有某种方法可以找出整个textarea的内容中选择的位置是什么 我希望能够做的是获取选择并修改它,或者将其包装在特定的标记中等,就像您可以在stackexchange文本编辑器中所做的那样。从此页开始 功能显示(txtarea){ var sl=(txtarea.value

如何在文本区域中获取当前选定的文本(并对其进行修改)

我已经看到了可以收听的select事件,但是我想知道是否有一种方法可以只获取当前选中的文本

另外,为了能够修改textarea中的特定文本部分,您需要使用什么技术?我假设有某种方法可以找出整个textarea的内容中选择的位置是什么

我希望能够做的是获取选择并修改它,或者将其包装在特定的标记中等,就像您可以在stackexchange文本编辑器中所做的那样。

从此页开始

功能显示(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;">