`
ablya
  • 浏览: 26411 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Javascript 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> 
分享到:
评论

相关推荐

    Winsocket入门教程二:非阻塞式服务器和客户端程序(TCP).doc

    Winsocket入门教程二:非阻塞式服务器和客户端程序(TCP)HYPERLINK"JavaScript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void...

    javascript权威指南(第六版)

    19.8 jQuery Selectors and Selection Methods 574 19.9 Extending jQuery with Plug-ins 582 19.10 The jQuery UI Library 585 20. Client-Side Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    往光标所在位置插入值的js代码

    代码如下: ”code” class=”javascript”&gt;/** *往输入域中插入字符串(光标所在位置) *@param $t document.... sel = document.selection.createRange(); sel.text = myValue; $t.focus(); }else if($t.sel

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

    本文实例讲述了JavaScript获取文本框内选中文本的方法。分享给大家供大家参考。具体分析如下: 这里的代码可以用来获取用户通过鼠标在文本输入框或者... var sel = document.selection.createRange();  if (sel.

    JavaScript在ASP页面中实现掩码文本框效果代码

    最近在做一个程序正好需要用到此方面,在网上找到... var workRange=document.selection.createRange(); obj.select(); var allRange=document.selection.createRange(); workRange.setEndPoint(“StartToStart”,allR

    Javascript selection的兼容性写法介绍

    代码如下: function getSelectedText() { //this function code is borrowed from: ... } else if (window.document.getSelection) { txt = window.document.getSelection(); } else if (window.

    js使用小技巧

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

    javascript中获取选中对象的类型

    我们可以利用 document.selection.type 来判断当前选中的是文本还是对象。 document.selection.type 返回三个值 “None” “Text” “Control” 只有当返回值是 Text 时,创建的textRange才是有效的。

    javascript实现textarea中tab键的缩排处理方法

    本文实例讲述了javascript实现textarea中tab键的缩排处理方法。... 代码如下:sel =event.srcElement.document.selection.createRange() 这一句会发生错误: ncaught exception TypeError: Cannot rea

    javascript禁用键盘功能键让右击及其他键无效

    body oncontextmenu=”return false” onselectstart=”return false” ondragstart=”return false” onbeforecopy=”return false” onmouseup=document.selection.empty() oncopy=document.selection.empty() ...

    javascript在一段文字中的光标处插入其他文字

    例如:一个文本框里有一段文字...[removed] function setCaret(textObj){ if(textObj.createTextRange){ textObj.caretPos=document.selection.createRange().duplicate(); } } function insertAtCaret(textObj,

    JavaScript实现弹出模态窗体并接受传值的方法

    本文实例讲述了JavaScript实现弹出模态窗体并接受传值的方法。分享给大家供大家参考,具体如下: function shows(zwbh){ var sUrl=window.showModalDialog('zlzx... if(document.selection){ if (sUrl == 123) { }

    Javascript实现获取及设置光标位置的方法

    本文实例讲述了Javascript实现获取及设置光标位置的方法。分享给大家供大家参考。具体如下: 在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,... if (document.selection) { ctrl.fo

    javascript 获取表单file全路径

    具体代码如下: 代码如下: &lt;... &lt;head&gt; &lt;title&gt;get file input full path&lt;/title&gt;... return document.selection.createRange().text; } //firefox else if(window.navigator.userAge

    javascript预览上传图片发现的问题的解决方法

    先看看效果图吧: 机会难得,有点技术亮点,就一下子投入到功能开发... logoimg = document.selection.createRange().text; //由于是采用滤镜的方式,所以要把图片设置为不可见,在图片外层的DIV上面设置滤镜效果 $(

    javascript获取以及设置光标位置

    一. 获取光标位置: // 获取光标位置 ... var selectRange = document.selection.createRange(); selectRange.moveStart ('character', -textDom.value.length); cursorPos = selectRange.text.length;

    JavaScript 获得选中文本内容的方法

    有如下实现方法: 在Firefox, Google Chrome, Safari, Opera中:可以用 window.getSelection() (参考MDC) 在IE下,可以用 document.selection.createRange().text (参考MSDN) 注:将两者放在一起的代码: 代码...

    JavaScript获得选中文本内容的方法

    有如下实现方法: 在Firefox, Google Chrome, Safari, Opera中:可以用 window.getSelection() (参考MDC) 在IE下,可以用 document.selection.createRange().text (参考MSDN) 注:将两者放在一起的代码: 代码...

    javascript取消文本选定的实现代码

    javascript选定文本取消, 能兼容所有主流浏览器了: 代码如下: if (document.selection) { document.selection.empty(); } else if (window.getSelection) { window.getSelection().removeAllRanges(); } 对于文本框...

    javascript控制在光标位置插入文字适合表情的插入

    直接上代码吧,用js控制在光标位置插入。 在实现表情的插入时用到了。 代码如下: &lt;span xss=removed&gt;&lt;... &lt;head&gt; [removed] function test(str){ var tc = ...= “undefined”) { document.selection.createR

Global site tag (gtag.js) - Google Analytics