Heim > Web-Frontend > Front-End-Fragen und Antworten > Was ist die Verwendung von Range in Javascript?

Was ist die Verwendung von Range in Javascript?

藏色散人
Freigeben: 2022-01-18 11:44:14
Original
2858 Leute haben es durchsucht

Das Range-Objekt von JavaScript bezieht sich auf den Bereich im HTML-Dokument und seine Verwendungsmethode ist beispielsweise „var elem=range.commonAncestorContainer;if(elem.nodeType != 1){...}“.

Was ist die Verwendung von Range in Javascript?

Die Betriebsumgebung dieses Artikels: Windows 7-System, Javascript-Version 1.8.5, Dell G3-Computer.

Was ist die Verwendung von Range in Javascript?

Verwendung des JS Range-Objekts

1: Was ist das Range-Objekt

Range bezieht sich auf den Bereich im HTML-Dokument, z. B. wenn der Benutzer den ausgewählten Bereich mit der Maus zieht, wie unten gezeigt:

Was ist die Verwendung von Range in Javascript?

Über das Range-Objekt können Sie den vom Benutzer ausgewählten Bereich abrufen oder den ausgewählten Bereich angeben, den Start- und Endpunkt des Bereichs abrufen, den darin enthaltenen Text ändern oder kopieren oder sogar HTML. Diese Funktionen werden häufig bei der Entwicklung von Rich-Text-Editoren verwendet.

Zwei: Holen Sie sich die aktuelle Auswahl

Aufgrund von Kompatibilitätsproblemen müssen Sie IE-Browser unterscheiden,

var selection, range;
if (window.getSelection) { 
    //现代浏览器
    selection = window.getSelection();
} else if (document.selection) { 
    //IE
    selection = document.selection.createRange();
}

//Range对象
range = selection.getRangeAt(0);
Nach dem Login kopieren

Drei: Bereichsattribut

> collapsed     如果范围的开始点和结束点在文档的同一位置,则为 true,即范围是空的,或折叠的。
> commonAncestorContainer     范围的开始点和结束点的(即它们的祖先节点)、嵌套最深的 Document 节点。
> endContainer         包含范围的结束点的 Document 节点。 
> endOffset     endContainer 中的结束点位置。
> startContainer     包含范围的开始点的 Document 节点。
> startOffset    startContainer中的开始点位置。
Nach dem Login kopieren

Vier: Bereich. Betrieb

//选中区域的文字
var text = range.toString();

//选中区域的Element元素
var elem = range.commonAncestorContainer;
if(elem.nodeType != 1){
     elem = elem.parentNode;
}

//选中区域的html
var span = document.createElement('SPAN');
span.appendChild(range.cloneContents());

//选区是否为空
var isSelectionEmpty = false;
if (range.startContainer === range.endContainer) {
   if (range.startOffset === range.endOffset) {
       isSelectionEmpty = true;
   }
}
Nach dem Login kopieren

Empfohlen lernen: „ js-Grundlagen-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von Range in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage