JavaScript DHTML/HTML/Text Selection

Материал из Web эксперт
Перейти к: навигация, поиск

Capturing a Text Selection

   <source lang="html4strict">

<HTML> <HEAD> <TITLE>Getting Selected Text</TITLE> <SCRIPT LANGUAGE="JavaScript"> var isNav4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 4) var isNav4Min = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4) var isIE4Min = (navigator.appName.indexOf("Microsoft") != -1 && parseInt(navigator.appVersion) >= 4) function showSelection() {

   if (isNav4Min) {
       document.forms[0].selectedText.value = document.getSelection()
   } else if (isIE4Min) {
       if (document.selection) {
           document.forms[0].selectedText.value =
               document.selection.createRange().text
           event.cancelBubble = true
       }
   }

} if (isNav4) {

   document.captureEvents(Event.MOUSEUP)

} document.onmouseup = showSelection </SCRIPT> </HEAD> <BODY>

Getting Selected Text


Select some text and see how JavaScript can capture the selection:

ARTICLE I

text text text text text text text text text text text text text

</HR> <FORM> <TEXTAREA NAME="selectedText" ROWS=3 COLS=40 WRAP="virtual"></TEXTAREA> </FORM> </BODY> </HTML>

      </source>
   
  


Get selected elememnt

   <source lang="html4strict">

<html> <head> <script> function selection2Element() {

   var rng = document.selection.createRange();
   var newHTML = "" + rng.text + "";
   rng.pasteHTML(newHTML);

} </script> </head> <body>

select me

</body> </html>

      </source>
   
  


Get selecte text in one paragraph

   <source lang="html4strict">

<html> <head> <script> // global var selectionStart; // invoked by onselectstart function saveStart() {

   selectionStart = event.srcElement;

} // invoked by onmouseup function selection2Element() {

   if (event.srcElement == selectionStart) {
       var rng = document.selection.createRange();
       var newHTML = "" + rng.text + "";
       rng.pasteHTML(newHTML);
   } else {
       alert("Please restrict selections to within a single paragraph.");
   }

} </script> </head> <body>

select me

</body> </html>

      </source>
   
  


Using the elementFromPoint() Method

   <source lang="html4strict">

<HTML> <HEAD> <TITLE>document.elementFromPoint() Method</TITLE> <SCRIPT LANGUAGE="JavaScript"> function showElemUnderneath() {

   var elem = document.elementFromPoint(event.clientX, event.clientY)
   document.all.mySpan.innerText = elem.id

} document.onmouseover = showElemUnderneath </SCRIPT> </HEAD> <BODY ID="myBody">

document.elementFromPoint() Method


Roll the mouse around the page. The coordinates of the mouse pointer are currently atop an element
whose ID is:"".

<FORM ID="myForm"> <INPUT ID="myButton" TYPE="button" VALUE="Sample Button" onClick="">  </FORM>

Cell A1 Cell B1
Cell A2 Cell B2
Cell A2 Cell B2

Section 1

text.

Section 2

text.

Here is a positioned element.

</BODY> </HTML>

      </source>
   
  


Using the TextEdit Property

   <source lang="html4strict">

<HTML> <HEAD> <TITLE>parentTextEdit Property</TITLE> <SCRIPT LANGUAGE="JavaScript"> function selectChunk() {

   var chunk, range
   var x = window.event.clientX
   var y = window.event.clientY
   for (var i = 0; i < document.forms[0].chunk.length; i++) {
       if (document.forms[0].chunk[i].checked) {
           chunk = document.forms[0].chunk[i].value
           break    
       }
   }
   if (window.event.srcElement.parentTextEdit) {
       range = window.event.srcElement.parentTextEdit.createTextRange()
       range.collapse()
       range.moveToPoint(x, y)
       range.expand(chunk)
       range.select()
   }

} </SCRIPT> </HEAD> <BODY BGCOLOR="white"> <FORM>

Choose how much of the paragraph is to be selected when you click anywhere in it:
<INPUT TYPE="radio" NAME="chunk" VALUE="character" CHECKED>Character <INPUT TYPE="radio" NAME="chunk" VALUE="word">Word <INPUT TYPE="radio" NAME="chunk" VALUE="sentence">Sentence .

</FORM>

text text text text text text text text text text text text text text

</BODY> </HTML>


      </source>