अद्यतन:
सभी प्रमुख ब्राउज़रों अब आप एक पेस्ट घटना में क्लिपबोर्ड डेटा तक पहुँच दे। नए ब्राउज़र पर एक उदाहरण के लिए Nico Burns's answer देखें और यदि आपको पुराने ब्राउज़र का समर्थन करने की आवश्यकता है तो Tim Down's answer भी देखें।
आप div पर onPaste घटना पेस्ट का पता लगाने के लिए सुन सकते हैं। यदि आप बस पेस्ट को अक्षम करना चाहते हैं तो आप उस श्रोता से event.preventDefault()
पर कॉल कर सकते हैं।
चिपकाए गए सामग्री को कैप्चर करने के लिए हालांकि थोड़ा और मुश्किल है क्योंकि onPaste
ईवेंट आपको चिपकाए गए सामग्री तक पहुंच नहीं देता है। इस संभाल करने के लिए हमेशा की तरह onPaste
ईवेंट हैंडलर से निम्न करने के लिए है:
- एक डमी div बना सकते हैं और खिड़की सीमाओं के बाहर यह जगह तो यह
- कदम यह करने के लिए ध्यान केंद्रित div
आगंतुकों को दिखाई नहीं है
- कॉल एक
setTimeout(sanitize, 0)
और अपने sanitizing विधि से उपयोग कर एक प्रक्षालक विधि:
- डमी div खोजने के लिए और
- एचटीएमएल स्वच्छ यह सामग्री है मिलता है और div
- कदम फोकस मूल div
- को वापस हटाने मूल div में स्वच्छ सामग्री सम्मिलित
होगा क्या मददगार एक ऐसा फंड होगा जो पेस्ट घटना को कैप्चर करने से पहले कैप्चर करता है, sanitizes, और उसके बाद कर्सर स्थिति खोने वाली सामग्री संपादन योग्य सामग्री में सुरक्षित सामग्री इंजेक्ट करता है। विचार? –
आईई, सफारी, और क्रोम क्लिपबोर्ड में डेटा तक पहुंचने की अनुमति देता है, लेकिन आपको फ़ायरफ़ॉक्स के लिए वर्कअराउंड के एक बड़े सिरदर्द के साथ आना होगा। बहुत आसान, यदि यह व्यवहार्य है, तो बस पेस्ट को अनुमति देना होगा, और फिर तथ्य के बाद पूरे तत्व की सामग्री को स्वच्छ करना होगा। क्या इससे काम हो जायेगा? – sdleihssirhc
ऐसा करने के लिए एक हैकी तरीका है जिसे मैंने पहले पोस्ट किया है: http://stackoverflow.com/questions/2176861/javascript-get-clipboard-data-on-paste-event-cross-browser/2177059#2177059, http : //stackoverflow.com/questions/4365833/how-can-i-get-the-text-that-is-going-to-be-pasted-in-my-html-text-editor/4365862#4365862 –