2011-12-30 12 views
21

मेरे पास "रद्द" टेक्स्ट वाला ड्रैगगेबल (jQuery UI) तत्व है। यहां मेरा मतलब है:मैं जावास्क्रिप्ट या jQuery का उपयोग कर टेक्स्ट को अचयनित कैसे कर सकता हूं?

$('#main').draggable({ 
     cancel: '#main>* *', 
     start: function(){ 
      // deselect text 
     } 
}); 

जब मैं तत्व खींचता हूं, तो मैं अक्सर दुर्घटना से पाठ का चयन करता हूं। जब तत्व खींचा जाता है तो मैं पाठ को अचयनित करना चाहता हूं।

उत्तर

-5

साफ़ दस्तावेज़ चयन document.selection.empty();

कुछ की तरह:

$('#main').draggable({ 
    cancel: '#main>* *', 
    start: function(){ 
     // deselect text 
     document.selection.empty(); 
    } 
}); 
+4

'document.selection' दोनों 'एफएफ' और' क्रोम 'में अपरिभाषित है। इसके बजाए 'document.getSelection()' का प्रयोग करें। – Max

+0

"एरिक जी" द्वारा पोस्ट किए गए सही उत्तर को देखें – gmsi

67

सब कुछ का चयन रद्द करने के लिए आप उपयोग कर सकते हैं:

document.getSelection().removeAllRanges(); 
+5

यह बेहतर तरीके से काम करता है क्योंकि मैंने पाया कि चेक किए गए उत्तर में कोई अपवाद फेंक दिया गया है यदि कोई चयनित टेक्स्ट नहीं मिला है। –

0

jQuery यूआई अब .disableSelection(), जो आप पाठ को रोकने के लिए उपयोग कर सकते हैं शामिल आपके तत्वों के अंदर चुने जाने से। इस पर एपीआई दस्तावेज बेहद उपयोगी नहीं है, लेकिन: http://api.jqueryui.com/disableSelection/

एक तरफ, एरिक जी का जवाब मेरे लिए "टेक्स्ट हाइलाइटिंग" टूल बनाते समय मेरे लिए बेहद उपयोगी साबित हुआ - लॉरेंस ने टिप्पणी की, यह बाहर नहीं फेंक देगा कोई त्रुटि नहीं है अगर कोई पाठ चुना गया है।

+2

अक्षम चयन को बहिष्कृत किया गया है (और यदि आप केवल कुछ परीक्षण करते हैं तो आप इसे तुरंत काम नहीं करेंगे) –

संबंधित मुद्दे

 संबंधित मुद्दे