2012-04-09 11 views
7

मैं एक ऑनलाइन टाइपिंग सॉफ्टवेयर पर काम कर रहा हूं। टाइपिंग सॉफ़्टवेयर में, सभी अच्छी तरह से चल रहे हैं, लेकिन मुझे बेईमान उपयोगकर्ताओं की समस्या है जो संभवतः पाठ को टेक्स्टरेरा में टाइप कर सकते हैं, इसकी प्रतिलिपि बना सकते हैं, फिर पृष्ठ को फिर से लोड कर सकते हैं (इसलिए टाइमर को रीसेट कर सकते हैं) और इसे सीधे चिपका सकते हैं। तो मैं evt.preventDefault(); जैसे कुछ उपयोग करने की लाइनों के साथ सोच रहा था जब जावास्क्रिप्ट C कुंजी के साथ ctrl/cmd बटन दबाकर पता लगाता है। लेकिन फिर मुझे एहसास हुआ कि उपयोगकर्ता हमेशा Edit -> Copy दबाकर मेनू बार तक जा सकता है। तो मैं सोच रहा था, कॉपी करने के दोनों तरीकों को अक्षम करने के लिए एक क्रॉस-ब्राउज़र विधि है?पाठ पाठ से टेक्स्ट कॉपी करने के सभी तरीकों को रोकने के लिए क्रॉस-ब्राउज़र विधि?

+0

अपनी वेबसाइट लिंक – Kamal

+0

प्रदान @ think123: मैं अपने पिछले हटाए गए प्रश्न के लिए एक समाधान है (कैसे मेरे php mysql कोड केवल एक टीडी प्रदर्शित करता है) –

+0

ओह कि एक हल हो गया है (मुझे लगता है)। उसके लिए माफ़ करना। – think123

उत्तर

4

आप निम्न jQuery कोड का उपयोग करने की कोशिश कर सकते हैं:

$('input[type=text],textarea').bind('copy paste cut drag drop', function (e) { 
    e.preventDefault(); 
}); 
+0

आह, संपादन के लिए धन्यवाद। – selo

+0

क्या मैं पूछ सकता हूं, आपके कोड के बाइंड ('कॉपी पेस्ट कट' सेक्शन क्या होता है? धन्यवाद! – think123

+0

बाइंड फ़ंक्शन इवेंट हैंडलर को आपके तत्वों से जोड़ता है। "कॉपी पेस्ट कट" हमें बताता है कि कौन से ईवेंट संलग्न फ़ंक्शन को आग लगाना चाहिए। – selo

1

आप कुछ घटनाओं को ब्लॉक कर सकते हैं, लेकिन जैसे उपयोगकर्ता व्यवहार को रोकने के संभव नहीं है। उपयोगकर्ता ब्राउज़र कंसोल के माध्यम से हमेशा डोम नोड से पाठ कॉपी कर सकते हैं। के रूप में अपने प्रश्न में सुझाव दिया,

var txtArea = document.getElementById("YourTextAreaId"); 
txtArea.oncopy = function() { return false; } 
txtArea.onpaste = function() { return false; } 
txtArea.oncut = function() { return false; } 

लेकिन फिर भी, उपयोगकर्ता अन्य तरीकों से सामग्री की प्रतिलिपि कर सकते हैं:

+0

हाँ क्योंकि हर कोई जानता है कि कैसे कंसोल को चाबुक करें और डोम – Esailija

+0

में हेरफेर करना शुरू करें ओह डोम मैनिपुलेशन कोई समस्या नहीं है, मेरा मतलब है कि उपयोगकर्ता को समझ में नहीं आया और डीओएम हेरफेर, और केवल संपादन -> कॉपी और राइट-क्लिक -> कॉपी (राइट-क्लिक कोई समस्या नहीं है) और CTRL-C और CMD-C जैसी चीजें जानती हैं। यही वह है जो मैं मुख्य रूप से चिंता कर रहा हूं। – think123

+1

@ think123 जो काम नहीं करता है अगर आप कट/पेस्ट/प्रतिलिपि घटनाओं से रोकें 'डीफॉल्ट() 'AFAIK – Esailija

2

आप शायद की तरह कुछ कर सकता है।

0

ईवेंट हैंडलर्स बाइंड और रोकने के इस तरह की तरह क्लिपबोर्ड समारोह:

$('textarea').on('copy paste cut drag drop', function (e) { 
    e.preventDefault(); 
}); 
+0

@Downvoter, मेरे उत्तर के साथ कुछ भी गलत है? कृपया समझाएं ताकि मैं इसे बेहतर बना सकूं। – Starx

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