获取页面当前选定的文本

发布于 2024-11-28 03:09:46 字数 222 浏览 1 评论 0原文

如何获取文本区域中当前选定的文本(并修改它)?

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

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

我想要做的是获取选择并修改它,或者将其包装在某些标签等中,就像您可以在 stackexchange 文本编辑器中所做的那样。

How would you get the currently selected text within a textarea (and modify it)?

I've seen the select event that can be listened for, but I was wondering if there was a way to just get the currently selected text.

Also, what technique do you need to use in order to be able to modify that specific section of text within the textarea? I assume there's some way of finding out what the position of the selection is within the contents of the textarea as a whole?

What I want to be able to do is take the selection and modify it, or wrap it in certain tags etc., like you are able to do in the stackexchange text editor.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

¢蛋碎的人ぎ生 2024-12-05 03:09:46

如果您只需要支持最新的浏览器,则可以使用 selectionStartselectionEnd 属性来公开文本区域中所选文本的字符位置。您不能仅修改选定的文本,但更新值后,您可以使用 setSelectionRange 重新选择文本。

If you only have to support the latest browsers, you can use the selectionStart and selectionEnd properties which expose the character positions of the text selected in the textarea. You can't modify just the selected text but having updated the value you can use setSelectionRange to reselect the text.

笑看君怀她人 2024-12-05 03:09:46

我已经在 Stack Overflow 上多次发布了我认为在所有浏览器(包括 IE < 9)中执行此操作的确定函数。下面是一个示例:

IE 的文档.selection.createRange 不包含前导或尾随空白行

我还推荐 我的 jQuery 插件用于此目的,其中包括此功能以及其他用于插入、删除、包围或替换所选文本,这听起来正是您想要的。它也是我所知道的唯一一个用于文本区域选择的 jQuery 插件,可以在 IE << 中正确使用换行符。 9.

I've posted what I consider the definitive function to do this in all browsers (including IE < 9) on Stack Overflow many times. Here's one example:

IE's document.selection.createRange doesn't include leading or trailing blank lines

I'd also recommend my jQuery plug-in for this, which includes this function and others to insert, delete, surround or replace the selected text, which sounds like exactly what you want. It's also the only jQuery plug-in for textarea selections I'm aware of that works correctly with line breaks in IE < 9.

追星践月 2024-12-05 03:09:46

在此页面

http://www.netadmintools.com/art466.html

function display(txtarea) {
  var sl = (txtarea.value)
     .substring(txtarea.selectionStart, txtarea.selectionEnd);        
} 


<body onload="thisForm=document.frmKey;">

From this page

http://www.netadmintools.com/art466.html

function display(txtarea) {
  var sl = (txtarea.value)
     .substring(txtarea.selectionStart, txtarea.selectionEnd);        
} 


<body onload="thisForm=document.frmKey;">
雨的味道风的声音 2024-12-05 03:09:46

jquery 字段选择插件..
在此处下载网站上的示例。

jquery field selection plugin..
Download Here examples on site.

无畏 2024-12-05 03:09:46

::selection 选择器也可能有效。
http://www.w3schools.com/cssref/sel_selection.asp

The ::selection selector might work as well.
http://www.w3schools.com/cssref/sel_selection.asp

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文