javascript - How to get text from a div from user selection -
मेरे पास चयन के साथ एक तत्व अक्षम है:
& lt; div id = "text" onmousedown = "selectionstart ();" onmouseup = "selectionEnd ();" & gt; यहां स्टफ & lt; / div & gt;
मुझे क्या करना है, उस पाठ पर एक डिवेल बनायें जिससे उपयोगकर्ता उपयोगकर्ता के भीतर चुने गए मूल्यों के साथ चयन करने का प्रयास कर रहा है (ऐसा लगता है कि यह हाइलाइट हो रहा है)। चयन पूरा हो जाने पर, उपयोगकर्ता इस div को बिना किसी समस्या के चारों ओर खींच सकता है।
चयन के लिए मेरा कोड () मूल रूप से उस स्थान की एक्स स्थिति को सेट कर रहा है जहां माउस है (और div तत्व को चित्रित करने के लिए y स्थिति )।
चयन के लिए मेरा कोड अंत () अंतिम X और Y स्थिति प्राप्त कर रहा है और आंतरिक एचटीएमएल के उपस्ट्रिंग कर रहा है।
इस विचार को एक एकल वर्ण चौड़ाई प्राप्त करना और जारी रखना होगा उस के साथ - क्या यह एक व्यवहार्य तरीका है?
अपडेट: अब मुझे सही चरित्र चयन प्राप्त हो सकता है, अब मुझे जो कुछ करना है, वह चयनित क्षेत्र पर एक div (अस्पष्टता / पारदर्शिता के साथ) बना रहा है ।
फ़ंक्शन चयनस्टार्ट () {if (characterWidth == 0) {widthCalc = document.getElementById ("text"); Var storedValue = widthCalc.innerText; WidthCalc.innerText = 'X'; Var श्रेणी = document.body.createTextRange (); range.moveToElementText (widthCalc); range.select (); Var caretPos = document.selection.createRange (); caretPos.select (); caretPos.findText ( "X"); चरित्रविड्थ = कैरिट पीओ। बाउन्डिंगविड्थ; WidthCalc.innerText = संग्रहीत मूल्य; } StartPositionX = मठ मैदान ((माउसएक्स (इवेंट) +5) / कैरेक्टरविड्थ); StartPositionY = mouseY (घटना); } फ़ंक्शन चयनआंतर () {endPositionX = मठ मैदान ((माउसएक्स (इवेंट) +5) / कैरेक्टरविड्थ); EndPositionY = mouseY (घटना); Var myRulerText = document.getElementById ("पाठ"); NewSquare = document.createElement ('div'); NewSquare.setAttribute ('आईडी', 'नया स्क्वायर') newSquare.innerText = myRulerText.innerText; यदि ((startpositionX - endPositionX) & gt; 0) {transferBox = startpositionX; StartPositionX = endPositionX; EndPositionX = स्थानांतरणबॉक्स; } NewSquare.innerText = newSquare.innerText.substring (startPositionX-2, अंत PositionX-1); NewSquare.style.left = 50; NewSquare.style.top = 100; चेतावनी (newSquare.innerText); }
इस पाठ को चुनने के लिए एक महान
Comments
Post a Comment