日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Range在各浏览器下的问题和常见处理办法

發布時間:2025/5/22 HTML 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Range在各浏览器下的问题和常见处理办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一次聽到Range這個概念是在空間編輯器的技術交流會上,當時作者給我們提到編輯器中最重要的概念就是Range,通過操作range,就可以實現編輯器的所有操作。到底具體什么是range呢,其實簡單點就是選區,大家對矩形可能有概念,其實range可以理解為矩形,只要我們選定了一個文本,那么這個文本就占有空間了,所以range是有起始和結束位置的。

一、關于瀏覽器的兼容性

   目前主要有3種關于range的類似的對象,分別是W3C range 對象,Mozzlia selection ,ie TextRange

  關于這三種的區別,請查看文檔?http://www.quirksmode.org/dom/w3c_range.html?這里面對這三個是說的很清楚的

  可以看出 Mozilla 的 range 是一個selection對象 ,而在ie下 range 是一個 text Range 這個和Mozilla是完全不同的,所以需要為這兩種類型的range

分別寫不同的兼容性的腳本,目前主流瀏覽器 Mozilla,chrome safari,opera 都支持 selection 對象,但是opera 也支持 IE 下text Range ,但是不全面。

所以代碼應該這樣

var selection; //申明range 對象
if (window.getSelection) {?   //主流的瀏覽器,包括mozilla,chrome,safari
selection = window.getSelection();
} else if (document.selection) {
selection = document.selection.createRange();//IE瀏覽器下的處理,如果要獲取內容,需要在selection 對象上加上text 屬性
} 

其實判斷瀏覽器的兼容性,我們還可以這么判斷

if (Obj.createTextRange) {
  //IE瀏覽器下的操作
} else if (Obj.setSelectionRange) {

  //非IE 下的一些操作

}

我跟蹤了下載chrome 和IE下的這些對象,上圖給大家看一下

?

在ie下,如果創建了range對象,那么就有?

  range.moveEnd()

  range.moveStart()

  range.select();

可以實現選定文本的操作

在其他瀏覽器下,可以通過obj.setSelectionRange() 來實現選定操作,具體格式如下

o.setSelectionRange(start,end);

  o:為文本輸入框對象

  start:為字符串的起始位置

  end:為字符串的末位置

在鼠標的位置處,實現文本的插入操作,在ie下

可以通過document.selection.createRange().text = value;

其中?document.selection.createRange() 表示當前鼠標的位置的TextRange 對象, textRange.text = value表示在當前鼠標處插入值

在其他瀏覽器下中可以通過 obj.value = str +value +str1 ?的形式

在非ie下 對于文本框這種輸入的obj,是有 selectionStart,selectionEnd屬性的,表示當前鼠標的位置。

總結:

  1)提到了range對象不在同瀏覽器下創建,獲取文本的內容以及兼容性的問題

  2)如何通過range對象,實現文本框中的文本插入操作

  3)如何通過range對象,實現文本的選定以及光標移動操作

歡迎大家拍磚。。

轉載于:https://www.cnblogs.com/yupeng/archive/2012/03/20/2405459.html

總結

以上是生活随笔為你收集整理的Range在各浏览器下的问题和常见处理办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。