`
zhangchibang
  • 浏览: 344967 次
社区版块
存档分类
最新评论

Javascript:获取选取文本的起始及长度等(转)

阅读更多

因为不同的浏览器,其【JS】代码也有所不同,【IE】、【Firefox】、【Opera】等就是这样,所以B/S架构的软件能把人逼疯了!(注意:“遨游”等其实根本就不算是浏览器,因为它们基本上都是基于【IE】的内核,所以直接忽略不考虑。)

先从【Firefox】开,因为本人的【Firefox】中安装了【Firebug】这个插件,所以,对网页中的任何控件和脚本代码都可以控制的游刃有余。调试【JS】代码也比较方便,很快就找到了那两个关键的属性“selectStart”和“selectEnd”。【Firefox】的问题解决了。

然后是【IE】,这是最气人的,“selectStart”和“selectEnd”属性【IE】根本就不认!都快弄吐血了都没解决这个问题!算了,还是先看看【Opera】吧,用【Firefox】中调试成功的代码在【Opera】中跑,结果,没有问题,直接通过。原因可能是【Firefox】和【Opera】对W3C的标准支持的相对好一些。(你看看,恩!不得不骂比尔,这老不死的东西就是让人头疼,自从在自己的叫“窗口”的小软件——就是【Windows】集成了那个蛮横的【IE】,就一意孤行,不听组织上的话,自己单干,非得制定自己的标准,怪不得比尔是纯美国种呢,跟美国一样,都是那么霸道。。。。。。跑~~~~~~提了,汗。。。)

没办法,只好回来接着捣鼓这个没缝的鸡蛋——【IE】,无奈啊,只好在网上继续搜索!可惜搜所结果同样是——零!真没办法了,还是从【Firebug】中找突破口吧。

【Firebug】中列出了空间的所有属性及方法,排除那些知道的就开始一个一个的在网上查,最后查到了“createRange”这个方法,终于解决了【IE】这个臭鸡蛋。以下给出源代码。

[code]
//获取控件
var obj = document.getElementById('editorInput');

//获取控件的值
var message = obj.value;

//根据浏览器选择处理方法
if(is_moz||is_opera)
{

//如果是【Firefox】和【Opera】走这里
//获取选择文本的起始点
var selStart = obj.selectionStart;

//获取选择文本的长度
var selLen = obj.selectionEnd - obj.selectionStart;

//获取被选择的文本
var sel=message.substr(selStart,selLen);
}
else
{

//如果是【IE】走这里
//获取被选择的文本
var sel=document.selection.createRange().text;

//获取选择文本的长度
var selLen = sel.length;

//获取选择文本的起始点
var selStart = message.search(sel);
}
[/code]

好啦,代码都在这里了,本人在【IE】、【Firefox】和【Opera】三款浏览器中测试通过,其他非IE内核的浏览器没有测试过,所以不好下定论。

分享到:
评论

相关推荐

    JS获取文本框焦点光标位置、选中起始位置、终止位置、选择内容

    有时,开发者需要获取或操作文本框中的焦点光标位置、选中起始位置、终止位置以及选中的内容,这对于实现诸如高亮显示、文本编辑、格式化等功能至关重要。在本文中,我们将深入探讨这些概念,并提供兼容IE8的解决...

    javascript获取选中的文本的方法代码.docx

    ### JavaScript 获取选中文本的方法 在网页开发过程中,有时候我们需要获取用户在页面上选中的文本内容,例如在富文本编辑器、文字处理工具或者交互式文档中。通过JavaScript,我们可以轻松实现这一功能。 #### ...

    JavaScript文本转语音项目源代码(可做毕设项目参考)

    JavaScript文本转语音项目是一个简单的桌面网络应用程序,使用HTML、CSS和JavaScript开发。该项目允许用户将输入的文本转换为语音形式,并且可以选择不同的语音进行朗读。 项目目标: 自动将文本转换为语音形式。 ...

    javascript网页获取文本选中文字内容

    javascript网页获取文本选中文字内容

    Javascript 获取光标位置

    JavaScript获取光标位置是网页开发中的一个重要功能,它在用户输入、文本编辑或者富文本处理等场景中扮演着关键角色。这个功能可以帮助开发者精确地控制用户在文本输入框中的光标定位,例如在某些特定字符后插入文本...

    vue结合html实时截取textarea文本

    为了实现“截取自定义文本”的功能,你可以根据需要修改`selectedText`,例如,只保留特定长度的文本,或者替换特定单词等。 在提供的`project-demo`压缩包中,应该包含了这个示例的完整代码结构,包括Vue组件文件...

    javascript获取选中的文本的方法代码

    本文详细介绍了如何通过JavaScript来实现获取用户选中文本的功能,并提供了相应的代码实现。 首先,了解如何在JavaScript中判断浏览器是支持IE还是W3C标准的获取选中文本的方式至关重要。IE浏览器通过`document....

    JavaScript event(事件) 字符串长度控制及Form表单提交控制

    你可以使用`length`属性来获取字符串的长度,或者使用`substring`、`slice`等方法来截取字符串的某个部分。例如,如果你想限制显示的文本最多20个字符,可以这样做: ```javascript var str = 'This is a longer ...

    Textarea限制输入文本长度

    - **第3行**:获取当前文本的长度。 - **第5-7行**:判断用户输入的是不是数字键或空格键。如果不是,则允许输入。 - **第9-12行**:如果文本长度已超过160个字符,则阻止此次输入;否则允许输入。 ##### 3. 应用...

    JavaScript文本转语音

    JavaScript文本转语音

    javascript对象与数组参考大全

    根据提供的文件信息,我们可以从标题、描述以及部分内容中提取出关于JavaScript对象与数组的重要知识点。 ### JavaScript对象与数组参考大全 #### 一、JavaScript对象详解 **1. Anchor对象** - **简介**: `...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册九:字符串

    JavaScript是Web前端开发的核心语言之一,它在网页交互、数据处理和动态效果实现等方面发挥着重要作用。本手册将深入探讨JavaScript中的字符串,这是编程中常用的数据类型,对于理解和操作文本至关重要。 一、字符...

    textarea长度控制

    此段代码使用了原生JavaScript,通过`onpaste`事件处理程序获取剪贴板中的文本,并判断其长度是否超过最大允许长度。如果超过,则截取适当长度的文本替换原剪贴板内容。 ##### 3.3 其他事件处理 除了`keyup`和`...

    javascript获得光标所在的文本框(text textarea)中的位置.docx

    ### JavaScript 获取光标所在文本框(text/textarea)中的位置 在前端开发中,经常需要处理用户在文本框(如`<input type="text">`或`<textarea>`)内的输入行为,例如实现自动填充、实时校验等功能时,获取光标的...

    str2js:将纯文本转换为JavaScript字符串文字

    `str2js`的工作原理通常是将输入的纯文本进行适当的转义,以确保所有特殊字符(如双引号、反斜杠等)在JavaScript环境中能够正确解析。例如,一个包含双引号的HTML字符串`<p>"I said, "Hello"</p>`在转换后可能会...

    jquery1.5 参考文档

    通过以上详尽的解析,可以看出 jQuery 1.5 是一个功能强大且高度灵活的JavaScript库,它极大地简化了网页开发中的DOM操作、事件处理、动画效果和Ajax交互等任务。对于前端开发者而言,熟练掌握jQuery的各项功能是...

    截取指定长度的字符串

    1. 固定位置截取:这种方法通常基于起始位置和结束位置来获取字符串的一部分。例如,在Python中,你可以使用切片操作符`[start:end]`来截取字符串,其中`start`是开始索引,`end`是结束索引(不包括该位置的字符)。...

    javascript获取FCKeditor内容

    ### JavaScript 获取 FCKeditor 内容详解 在深入解析如何使用JavaScript从FCKeditor中获取内容之前,我们先简要了解下FCKeditor是什么。FCKeditor是一款功能强大的富文本编辑器,它允许用户在网页上编辑类似Word...

Global site tag (gtag.js) - Google Analytics