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

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内核的浏览器没有测试过,所以不好下定论。

分享到:
评论

相关推荐

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

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

    Milkyway-Cloze:用任何文本练习完形填空_JavaScript_.zip

    【标题】"Milkyway-Cloze:用任何文本练习完形填空_JavaScript_.zip" 提供的是一款基于JavaScript开发的完形填空练习工具。这个项目名为"Milkyway-Cloze",其核心功能是允许用户利用自定义的文本创建个性化的完形...

    常用JavaScript命令大全

    下面是 JavaScript 命令大全,涵盖了 JavaScript 的基本语法、变量、数据类型、运算符、控制结构、函数、数组、字符串、事件处理等方面。 基本语法 * `document.write("")`:输出语句 * `//`:注释符号 * `...

    Textarea限制输入文本长度

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

    利用Javascript实现文本格式化.pdf

    1. 使用JavaScript编程对文本文档进行格式化处理,可以将文本文档中的断行、行首缩进、空行分隔等问题解决,实现了文本文档的自动格式化处理。 2. 使用JavaScript编程可以将文本文档中的断行合并,避免了繁琐的手工...

    JavaScript文本转语音

    JavaScript文本转语音

    javascript的到字符串字节长度

    在JavaScript中,字符串是基本的数据类型之一,它们用于表示文本信息。然而,JavaScript中的字符串长度并不等同于字节长度,因为JavaScript字符串是基于Unicode编码的,每个字符可能占用1到4个字节不等。这与一些...

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

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

    imgToText:获取图像并将其转换为 javascript 中的可缩放文本

    【imgToText:获取图像并将其转换为JavaScript中的可缩放文本】 在现代网页开发中,将图像转换为文本有着多种用途,例如增加可访问性、优化SEO或创建独特的动态设计效果。`imgToText`项目就是这样一个工具,它允许...

    富文本编辑器引入和获取富文本第一张图设置为缩略图

    富文本编辑器是网页开发中常见的一种工具,它允许用户在网页上进行格式化文本的输入、编辑和展示,常用于博客、论坛、CMS(内容管理系统)等应用场景。本篇文章将详细探讨如何引入富文本编辑器,以及如何从富文本中...

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

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

    截取指定长度的字符串

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

    JavaScript客户端验证和页面特效制作(JavaScript)

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责在客户端处理网页的动态交互和数据验证。本文将深入探讨JavaScript客户端验证和页面特效制作的核心知识点。 **一、JavaScript客户端验证** ...

    JavaScript获取文本框内选中文本的方法

    需要注意的是,在IE浏览器中,如果使用非按钮元素(如`<span>`、`<div>`等)触发`onclick`事件,可能会导致整个页面的选择内容发生变化,从而导致获取选中文本的操作失败。这种情况下,建议使用按钮元素来触发获取...

    10行 JavaScript 实现文本编辑器

    在这个"10行 JavaScript 实现文本编辑器"的主题中,我们将探讨如何利用简单的JavaScript代码创建一个基本的文本编辑器。 首先,我们需要理解JavaScript的基本语法和DOM(Document Object Model)操作。DOM是HTML或...

    javascript富文本框

    JavaScript富文本框是一种在网页上实现用户编辑复杂文本内容的工具,它提供了比普通`<textarea>`元素更加强大的功能,比如格式化文本、插入图片、链接、表格等。在网页设计和开发中,富文本框是构建内容管理系统、...

    自用富文本编辑器+json对象各种互转方法

    富文本编辑器是一种常见的网页组件,它允许用户在网页上创建和编辑格式化的文本,如在网站上撰写文章或发布博客。这样的编辑器通常提供类似于Microsoft Word的功能,如字体选择、大小调整、颜色设定、插入图片和链接...

    js获取页面文字的例子

    在JavaScript中,获取页面上的文字是一项常见的任务,它在网页交互、数据分析以及各种前端功能实现中扮演着重要角色。这个例子可能涉及到如何提取HTML元素中的文本内容,或者如何遍历DOM树来收集所有可见文本。下面...

    javascript计算文本框输入内容的长度

    尽管标签中标注的是"C#",但从给出的代码片段来看,这显然是一段JavaScript代码,用于实时显示用户在文本框内输入内容的长度。下面我们将详细介绍这段代码的工作原理、应用场景以及可能的改进方法。 ### 一、代码...

Global site tag (gtag.js) - Google Analytics