WEB开发网
开发学院网页设计JavaScript JavaScript DOM学习第九章:选取范围的介绍 阅读

JavaScript DOM学习第九章:选取范围的介绍

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: varselectedText=userSelection;if(userSelection.text)selectedText=userSelection.text;现在selectedText就包含了用户选择的文本,如果你觉得这样的信息足够的话,JavaScript DOM学习第九章:选取范

var selectedText = userSelection;
if (userSelection.text)
 selectedText = userSelection.text;

现在selectedText就包含了用户选择的文本。如果你觉得这样的信息足够的话,那么就开始准备后面的工作吧。

从选择对象创建范围对象

很多时候,你想处理的是代表用户选择范围的范围对象(range object)。在微软模式中条件已经具备:userSelection就是一个文本范围。在兼容W3C的浏览器中userSelection依然只是一个选择对象,是时候创建一个与选择对象内容相同的范围对象了。

按照下面这样:

01 var rangeObject = getRangeObject(userSelection);
02  
03 function getRangeObject(selectionObject) {
04     if (selectionObject.getRangeAt)
05         return selectionObject.getRangeAt(0);
06     else { // Safari!
07         var range = document.createRange();
08         range.setStart(selectionObject.anchorNode,selectionObject.anchorOffset);
09         range.setEnd(selectionObject.focusNode,selectionObject.focusOffset);
10         return range;
11     }
12 }

理想情况下,我们通过选择对象的getRangeAt()来访问W3C范围对象。这个方法会在给定的位置返回一个范围对象:就像平常一样第一个范围对象的编号是0。(getRangeAt()已经设计好如果有多处选择的情况下怎么办。在那种情况下你的代码也很简单)

自从创建一个范围

不幸的是Safari1.3不支持getRangeAt()。因此我们需要创建一个跟用户选择一样的范围对象。这是一个很好的练习机会,可以让你知道如何创建自己的范围对象。

编缉推荐阅读以下文章

  • JavaScript DOM学习第八章:表单错误提示
  • JavaScript DOM学习第七章:表单的扩展
  • JavaScript DOM学习第六章:表单实例
  • JavaScript DOM学习第五章:表单简介
  • JavaScript DOM学习第四章:getElementByTagNames
  • JavaScript DOM学习第三章:内容表格
  • JavaScript DOM学习第二章:编辑文本
  • JavaScript DOM学习第一章:W3C DOM简介
  • javaScript DOM方法与属性摘要

上一页  1 2 3 4 5  下一页

Tags:JavaScript DOM 学习

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接