2009-10-29 18 views
10

मान लें कि मैं अपने माउस का उपयोग कर पेज पर कुछ टेक्स्ट हाइलाइट करता हूं। जावास्क्रिप्ट का उपयोग करके मैं सभी हाइलाइट किए गए टेक्स्ट को कैसे हटा सकता हूं?जावास्क्रिप्ट: पृष्ठ से वर्तमान माउस हाइलाइट निकालें?

धन्यवाद।

उत्तर

34

मैं प्रश्न को थोड़ा अलग समझ गया हूं। मैं आप कैसे दस्तावेज़ से चयनित पाठ, जिस स्थिति में आप इस्तेमाल कर सकते हैं नष्ट करने के लिए जानना चाहता हूँ विश्वास है:

function deleteSelection() { 
    if (window.getSelection) { 
     // Mozilla 
     var selection = window.getSelection(); 
     if (selection.rangeCount > 0) { 
      window.getSelection().deleteFromDocument(); 
      window.getSelection().removeAllRanges(); 
     } 
    } else if (document.selection) { 
     // Internet Explorer 
     var ranges = document.selection.createRangeCollection(); 
     for (var i = 0; i < ranges.length; i++) { 
      ranges[i].text = ""; 
     } 
    } 
} 

तुम सिर्फ मुख्य आकर्षण ही साफ़ करना चाहते हैं, और पाठ को दूर नहीं पर प्रकाश डाला जा रहा है, तो निम्न चाल चलाना चाहिए:

function clearSelection() { 
    if (window.getSelection) { 
     window.getSelection().removeAllRanges(); 
    } else if (document.selection) { 
     document.selection.empty(); 
    } 
} 
+1

असल में मैं प्रदर्शित हाइलाइट को हटाना चाहता हूं। – thedp

+0

आपको बहुत बहुत धन्यवाद :) – thedp

1

आईई 4 और पुराने नेटस्केप का उपयोग करने के लिए एक विधि होती थी ... यह अब उचित नहीं है (न ही समर्थित है)।

आपका सबसे अच्छा अनुमान किसी ऑब्जेक्ट पर फ़ोकस() पर जावास्क्रिप्ट का उपयोग करना होगा, और तब ऑब्जेक्ट से दूर क्लिक करने के साथ-साथ प्रभावी रूप से धुंधला होना चाहिए।

document.getElementById("someObject").focus(); 
document.getElementById("someObject").blur(); 
संबंधित मुद्दे