2012-02-20 17 views
7

के दौरान टेक्स्टबॉक्स का मान प्राप्त करें मैंने टेक्स्टबॉक्स पर कट इवेंट (jquery) फंस लिया है। मैं चाहता हूं कि कट इवेंट के दौरान टेक्स्टबॉक्स पर टेक्स्ट प्राप्त करना है।कट इवेंट

मैंने उपयोगकर्ता को evt.originalEvent.clipboardData.getData ('text') के माध्यम से कटौती किए गए डेटा तक पहुंचने का प्रयास किया है, लेकिन अपरिभाषित लौटाता है।

मेरा लक्ष्य यह जानना है कि उपयोगकर्ता ने सभी टेक्स्ट (टेक्स्टबॉक्स अब खाली है) या नहीं।

अग्रिम धन्यवाद

उत्तर

0

आशा मैं तुम्हें अधिकार मिल गया:

jQuery आप अगर एक पाठ बॉक्स प्रत्येक उपयोगकर्ता के KeyUp पर रिक्त है देखने के लिए कुछ इस तरह इस्तेमाल कर सकते हैं में:

var txt; 
$('#textbox_ID').live('keyup', function() { 
    txt = $(this).val().length; 
    if(txt < 1) { 
     alert("textbox is empty"); 
    } 
}); 

यह चाहिए काम, क्योंकि जब भी उपयोगकर्ता एक कुंजी जारी करता है और टेक्स्टबॉक्स केंद्रित होता है, तो यह जांचता है कि यह खाली है या नहीं।

+0

नहीं, दोस्त, मैं यह पता लगाने के लिए देख रहा हूं कि कट ऑफ इवेंट – ptheofan

+0

के दौरान टेक्स्टबॉक्स खाली है या नहीं, सुरक्षा कारणों से प्रत्येक ब्राउज़र में क्लिपबोर्ड डेटा प्राप्त करना संभव नहीं है। कट ऑफ इवेंट के दौरान आप टेक्स्टबॉक्स * क्यों देखना चाहते हैं? आपने बताया कि आपका लक्ष्य यह जानना है कि क्या उपयोगकर्ता सभी टेक्स्ट काटता है, तो कट * घटना के बाद * खाली होना चाहिए? – Fabian

+0

SO पर इस विषय पर कई प्रश्न हैं: http://stackoverflow.com/questions/1144184/js-get-clipboard-data – Fabian

5

आप setTimeout 0 की अवधि के साथ कर सकते हैं, जो तत्काल निष्पादन के लिए एक फ़ंक्शन शेड्यूल करता है। आप हो सकता है

var ta = $('#YOUR_TEXTAREA'); 
ta.bind('cut', function() { 
    setTimeout(function(){ 
     if (!ta.val()) { 
      // user cut the whole text. 
     } 
    },0); 
}); 

: अच्छी बात यह है कि समारोह में एक बार पाठ पहले से ही कटौती की गई है पर अमल होगा, ताकि आप तो जांच कर सकते हैं अपने पाठ क्षेत्र रिक्त है (जो मतलब यह होगा कि उपयोगकर्ता सभी पाठ में कटौती की है) है setTimeout से पहले यह जांचने के लिए कि टेक्स्ट टेक्स्ट कट होने से पहले टेक्स्टरेरा में कोई टेक्स्ट है या नहीं, (यदि उपयोगकर्ता किसी भी पाठ के बिना Ctrl^X दबाता है, तो कट इवेंट अभी भी ट्रिगर करता है)

+1

नहीं, कोई टाइमआउट नहीं। मुझे पूरा यकीन है कि क्लिपबोर्ड डेटा उपयोगकर्ता को अभी भी काटने का एक तरीका है। अभी तक इसे अभी तक नहीं मिला है। – ptheofan

+1

टाइमआउट का उपयोग गंदा है और सबसे महत्वपूर्ण बात यह है कि आप घटनाओं का प्रवाह खो देते हैं। क्लिपबोर्ड को पढ़ने का सबसे अच्छा तरीका है, सवाल यह है कि कैसे ?? – ptheofan

0

मैं चाहता हूं इस पर ध्यान देने का सुझाव दें, JavaScript get clipboard data on paste event (Cross browser), यह पेस्ट ईवेंट के लिए है, लेकिन मुझे यकीन है कि आप कुछ ऐसा कर सकते हैं और वर्तमान मूल्य की तुलना क्लिपबोर्ड पर कर सकते हैं, अगर वे इनपुट से बिल्कुल समान हैं खाली होगा, अन्यथा नहीं।

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