如何在textarea中获取当前选定的文本(并进行修改)?
我见过可以收听的select事件,但我想知道是否有办法获取当前选中的文字。
此外,您需要使用哪种技术才能修改textarea中特定的文本部分?我假设有一些方法可以找出选择的位置在整个textarea的内容中是什么?
我希望能够做的是选择并修改它,或将它包装在某些标签等中,就像你可以在stackexchange文本编辑器中那样。
答案 0 :(得分:3)
如果您只需要支持最新的浏览器,则可以使用selectionStart
和selectionEnd
属性来显示textarea中所选文本的字符位置。您不能仅修改所选文本,而是更新了可以使用setSelectionRange
重新选择文本的值。
答案 1 :(得分:2)
我已经在Stack Overflow上的所有浏览器(包括IE< 9)中多次发布了我认为最终功能。这是一个例子:
IE's document.selection.createRange doesn't include leading or trailing blank lines
我还建议使用my jQuery plug-in,其中包括此功能以及其他用于插入,删除,环绕或替换所选文本的内容,这听起来就像您想要的那样。它也是textarea选择的唯一jQuery插件,我知道它可以正常使用IE中的换行符< 9。
答案 2 :(得分:1)
从这个页面
http://www.netadmintools.com/art466.html
function display(txtarea) {
var sl = (txtarea.value)
.substring(txtarea.selectionStart, txtarea.selectionEnd);
}
<body onload="thisForm=document.frmKey;">
答案 3 :(得分:1)
jquery字段选择插件.. 网站上有Download Here个例子。
答案 4 :(得分:0)
:: selection选择器也可以正常工作。 http://www.w3schools.com/cssref/sel_selection.asp