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

document.selection详解

 
阅读更多
IE:document.selection   FireFox:window.getSelection()   document.selection只有IE支持,window.getSelection()也只有FireFox和 Safari支持,都不是标准语法。
selection 对象

--------------------------------------------------------------------------------

代表了当前激活选中区,即高亮文本块,和/或文档中用户可执行某些操作的其它元素。
selection 对象的典型用途是作为用户的输入,以便识别正在对文档的哪一部分正在处理,或者作为某一操作的结果输出给用户。

用户和脚本都可以创建选中区。用户创建选中区的办法是拖曳文档的一部分。脚本创建选中区的办法是在文本区域或类似对象上调用 select 方法。要获取当前选中区,请对 document 对象应用 selection 关键字。要对选中区执行操作,请先用 createRange 方法从选中区创建一个文本区域对象。

一个文档同一时间只能有一个选中区。选中区的类型决定了其中为空或者包含文本和/或元素块。尽管空的选中区不包含任何内容,你仍然可以用它作为文档中的位置标志。


一个简单的例子

<html><head><title>document.selection.createRange例子</title></head><body>

<div>请选中这里的部分文字。</div><div><input type="button" value="加粗" onclick="javascript :Bold();" /></div>

<script language="javascript">

function Bold(){

var bo = document.selection.createRange();

bo.execCommand("Bold");

}</script>

</body></html>




document.selection.createRange() 根据当前文字选择返回 TextRange 对象,或根据控件选择返回 ControlRange 对象。

配合 execCommand,在 HTML 编辑器中很有用,比如:文字加粗、斜体、复制、粘贴、创建超链接等。

实例一:

<textarea cols=50 rows=15>
哈哈。我们都是新生来得。大家都来相互帮助呀。这样我们才能进步,我们才能赚大钱!</textarea>
<input type=button value=选择字后点击我看看 onclick=alert(document.selection.createRange().text)>
</form>

实例二:

<body>
<textarea name="textfield" cols="50" rows="6">就是现在文本域里有一段文字,当你选种其中几个字后点击一个按钮或者链接会弹出一个对话框,对话框的信息就是你选中的文字
哪位老大能解决的呀?请多多帮忙!!!谢谢
</textarea>
<input type="button" value="showSelection" onclick="alert(document.selection.createRange().text)">
<input type="button" value="showclear" onclick="alert(document.selection.clear().text)">
<input type="button" value="showtype" onclick="alert(document.selection.type)">
<textarea name="textfield" cols="50" rows="6" onselect="alert(document.selection.createRange().text)">就是现在文本域里有一段文字,当你选种其中几个字后点击一个按钮或者链接会弹出一个对话框,对话框的信息就是你选中的文字
哪位老大能解决的呀?请多多帮忙!!!谢谢
</textarea>

</body>

实例三:选中Input中的文本

<SCRIPT LANGUAGE="JavaScript">
<!--
function test2()
{
var t=document.getElementById("test")
var o=t.createTextRange()
alert(o.text)
o.moveStart("character",2)
alert(o.text)
o.select()
}
//-->
</SCRIPT>
<input type='text' id='test' name='test'><input type=button onclick='test2()' value='test' name='test3'>
对textarea中的内容,进行选中后,加效果
<script language="JavaScript">
<!--
function bold(){
Qr=document.selection.createRange().text;
if(!Qr || document.selection.createRange().parentElement().name!='description')
{
txt=prompt('Text to be made BOLD.','');
if(txt!=null && txt!='') document.form1.description.value+=''+txt+'';
}
else{
document.selection.createRange().text=''+document.selection.createRange().text+'';
document.selection.empty();
}
}
//-->
</script>
<input type="button" value="加粗" onclick="bold();" />
<textarea name="description" style="width: 436px; height: 296px">选中我,点击加粗</textarea>
实例四:javascript捕获到选中的网页中的纯文本内容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>鼠标取词</title>
<script>
function getSel()
{
var t=window.getSelection?window.getSelection():(document.getSelection?document.getSelection():(document.selection?document.selection.createRange().text:""))
document.forms[0].selectedtext.value = t;
}
</script></head>
<body onmouseup="getSel()">
<form>
<textarea name="selectedtext" rows="5" cols="50"></textarea>
</form>
以上的代码可以捕获到选中的网页中的纯文本内容(不含HTML标签)
如果想获得包含html的内容,将document.selection.createRange().text改成document.selection.createRange().htmlText
</body>
</html>
分享到:
评论

相关推荐

    document属性和方法.txt

    ### Document属性和方法详解 #### 一、Document对象概述 `Document`对象是浏览器中一个非常重要的对象,它表示整个HTML文档。通过`Document`对象,开发者可以访问页面中的所有元素,实现对网页内容的动态操作。下面...

    document对象总结

    ### Document对象总结与属性方法详解 在Web开发中,`Document`对象是浏览器解析HTML文档后形成的一个核心对象,它代表了整个HTML页面,并提供了访问和操作页面元素的方法和属性。下面将对`Document`对象的属性和...

    javascript的document对象

    ### JavaScript的Document对象详解 在Web开发中,`Document`对象是浏览器提供的核心对象之一,它代表了当前加载的HTML文档,并提供了与该文档交互的方法和属性。掌握`Document`对象的基本用法对于进行前端开发至关...

    Javascript函数大全

    ### JavaScript函数大全与DOM操作详解 #### 文档对象模型(Document Object Model)操作 JavaScript的DOM操作能力使得开发者能够以程序化的方式访问和修改网页内容。以下是一些关键的DOM属性和方法,它们允许对...

    Webbrowser控件详解

    Webbrowser 控件详解大全 Webbrowser 控件是 VB 中的一个强大控件,能够在应用程序中嵌入网页浏览器的功能。下面是对 Webbrowser 控件的详细介绍,包括基本用法、获取浏览器信息、弹出消息窗口、写入 HTML 内容、...

    常用代码大全

    &lt;body oncontextmenu="return false" ondragstart="return false" onselectstart="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false" ...

    详解Html页面中内容禁止选择、复制、右键的实现方法

    &lt;body onselectstart="return false" onselect="document.selection.empty()"&gt; ``` 4. `oncopy` 和 `onbeforecopy`:用于处理复制操作。同样,返回`false`或清空选择区可防止文本被复制: ```html ...

    另存為按鈕.html

    - **浏览器兼容性**:在实际开发中,由于 `document.selection.createRange()` 和 `document.execCommand` 都存在一定的浏览器兼容性问题,因此在现代Web开发中通常会使用更稳定的方法来实现类似的功能,比如使用 ...

    在textarea光标处插入文本

    - **Internet Explorer (IE) 支持**:使用`document.selection`来获取当前选中的文本范围。 - **Mozilla/Netscape 支持**:使用`selectionStart`和`selectionEnd`属性来确定选中区域的位置。 ##### 2. IE支持 在IE...

    c#生成word文档

    ### C# 生成 Word 文档知识点详解 #### 一、概述 在日常开发工作中,有时我们需要将数据导出为 Word 文档格式,便于用户查看或打印。C# 提供了多种方式来生成 Word 文档,其中较为常用的是利用 Microsoft Office ...

    JavaScript图片上传预览效果

    - **滤镜数据获取**:对于IE7/8,可以通过`document.selection.createRange().text`获取文件路径。 - **DOMFile数据获取**:对于Firefox 3及以上版本,可以使用`file.files[0].getAsDataURL()`获取Data URI。 - **...

    js上传图片预览

    ### 知识点详解 #### 一、JS 实现图片上传预览功能 **知识点概述:** 本案例展示了如何利用JavaScript实现用户在选择图片后立即预览的效果。这对于需要即时反馈的应用场景非常有用,比如社交媒体头像上传、产品...

    上传图片预览

    ### 上传图片预览技术详解 #### 一、概述 在现代Web开发中,用户界面交互体验至关重要。其中,上传图片预览功能是一项常见的需求,它允许用户在正式提交图片之前,预先查看即将上传的图片内容,从而提高用户体验并...

    用C#动态生成Word文档并将数据填入Word表格中

    Word.Document wordDoc = wordApp.Documents.Add(ref nothing, ref nothing, ref nothing, ref nothing); ``` 这里还包含了创建存储Word文档的目录,并定义了Word文档的名称和路径。 ##### 3. 设置文档的基本属性 ...

    .net 对word(2003) 的基本操作

    ### .NET 对 Word 2003 的基本操作详解 #### 概述 在.NET框架中,通过调用Microsoft Office Word 2003 COM组件,可以实现对Word文档的各种操作,包括创建、编辑和保存等。这些操作不仅能够极大地提高开发效率,还...

    VB操作WORD详解.doc

    VB支持的对象集合直接对应于Word中的元素,如Document、Bookmark、Selection等,每个元素都有其特定的方法和属性。 1. **Document对象**:代表一个打开的Word文档。通过Document对象,可以创建、读取、修改或保存...

    C#对Word文档的创建、插入表格、设置样式_swjtu.txt

    ### C#操作Word文档知识点详解 #### 一、创建Word文档 在C#中可以通过COM自动化的方式操作Word文档。下面这段代码展示了如何创建一个新的Word文档并进行简单的格式化。 ```csharp Object Nothing = System....

    Selectionjs是一个用于制作可视化DOM选择的简单轻量级和现代化的库

    **Selection.js库详解** 在网页开发中,DOM(Document Object Model)操作是不可或缺的一部分,而高效、直观地处理DOM选择更是提升开发效率的关键。Selection.js就是这样一个专为实现可视化DOM选择设计的轻量级库,...

    c#对word的操作

    ### C# 对 Word 的操作详解 #### 一、概述 在日常工作中,我们经常会遇到需要自动化处理 Word 文档的情况,特别是在需要批量生成报告或者格式化的文档时。利用 C# 编程语言,我们可以轻松地实现对 Word 文档的创建...

    vb操作word详解.doc

    VB 操作 Word 详解 本文档主要介绍了 Visual Basic (VB) 操作 Microsoft Word 的详细信息。VB 支持一个对象集合,该集合中的对象直接对应于 Microsoft Word 97 中的元素,并且通过用户界面,用户熟悉这些元素中的绝...

Global site tag (gtag.js) - Google Analytics