如何在 Internet Explorer 7 中使用 jQuery 获取 textarea 中选定的文本?
我尝试使用 jquery-fieldselection 插件 来获取文本区域中选定的文本。
它在 Firefox 和 Chrome 中工作正常,但在 Internet Explorer 7 中则不然。
我使用 getSelection()
方法,如下所示:
textarea.getSelection();
当文本区域中的文本为 12345
时,并且所有选择此文本,Firefox 和 Chrome 返回:
start: 0 // Correct!
end: 5
而 Internet Explorer 7 返回:
start: 5 // Why ??
end: 5
我正在寻找使用 jQuery 的跨浏览器解决方案。
I tried the jquery-fieldselection plugin to get the selected text in textarea.
It works fine in Firefox and Chrome, but not in Internet Explorer 7.
I use the getSelection()
method like this:
textarea.getSelection();
When the text within the textarea is 12345
, and all this text is selected, Firefox and Chrome returns:
start: 0 // Correct!
end: 5
while Internet Explorer 7 returns:
start: 5 // Why ??
end: 5
I'm looking for a cross browser solution using jQuery.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
刚刚看了一下库,它对于 IE 的行为有所不同,因为它不支持现代浏览器所做的某些方法..可能是那里的代码不完美..
使用以下方法:
如何使用它:
你需要 dom 对象的文本区域..因此:
现场演示
just took a look a tthelibrary and it behaves differently for IE since it does not support some methods that the modern browsers do.. may be the code there isnt perfect..
use the following method:
how to use it:
you need the dom object of the textarea.. thus:
Live Demo
这是一个非常简洁紧凑的 jquery 插件,适用于 IE7、IE8、IE9、FF、Chrome。选择的结束位置,还可以以编程方式替换所选文本。
工作示例/代码版本如下: http://jsfiddle.net/hYuzk/3/
带有更详细注释等的版本在这里: http://jsfiddle.net/hYuzk/4/
Here is a very concise and compact jquery plugin that works for IE7,IE8,IE9,FF,Chrome.. Allows you to get/set start & end position of a selection and also replace selected text programmatically.
A working example/code version is here: http://jsfiddle.net/hYuzk/3/
A version with more detailed comments etc. is here: http://jsfiddle.net/hYuzk/4/