2010-06-21 18 views
16

मैं माउस को अक्षम करना चाहता हूं, एक HTML पृष्ठ पर राइट क्लिक करें। मेरे पास एक ऐसा पृष्ठ है जहां उपयोगकर्ता को विवरण दर्ज करना होगा। मैं नहीं चाहता कि उपयोगकर्ता माउस के साथ प्रदर्शित होने वाले मेनू को राइट क्लिक करें। इसके बजाय मैं एक कस्टम मेनू प्रदर्शित करना चाहता हूँ। मुझे पता है कि ऐसा करने के लिए कुछ प्लगइन्स उपलब्ध हैं। लेकिन मेरी आवश्यकता को किसी भी प्लगइन की आवश्यकता नहीं है।माउस को अक्षम करने के लिए कैसे करें वेब पेज पर राइट क्लिक करें?

+1

अस्पष्टता से सुरक्षा? –

+15

मेनू के साथ समस्या क्या है? यह उपयोगकर्ता से संबंधित है इसलिए उसे छोड़ दें। * बस कल्पना करें, कोई उपयोगकर्ता एक शब्द नहीं समझता है और कुछ अनुवाद सेवा का उपयोग करना चाहता है जो संदर्भ मेनू के साथ सुलभ है। * –

+8

आप ऐसा क्यों करना चाहते हैं? कई उपयोगकर्ता इसे भ्रमित करते हैं यदि पृष्ठ अन्य सभी वेबपृष्ठों के रूप में काम नहीं करता है। –

उत्तर

41

यह अव्यवसायिक है, वैसे यह जावास्क्रिप्ट के साथ काम करेंगे सक्षम:

document.oncontextmenu = document.body.oncontextmenu = function() {return false;} 

तुम भी झूठे लौटने से पहले उपयोगकर्ता के लिए संदेश को दिखाने के लिए कर सकते हैं।

हालांकि मुझे यह कहना है कि यह आम तौर पर नहीं किया जाना चाहिए क्योंकि यह समस्या को हल किए बिना उपयोगकर्ताओं के विकल्पों को सीमित करता है (वास्तव में संदर्भ मेनू को फिर से आसानी से सक्षम किया जा सकता है।)। बस स्रोत को देखने वाले लोगों को रोकने के लिए, http://articles.sitepoint.com/article/dont-disable-right-click

+1

इसके अलावा, यह सब कुछ नहीं है और सभी समाधान समाप्त हो गया है, वे सिर्फ जेएस और हे पस्टो को अक्षम कर सकते हैं। – Kezzer

+0

क्यों न सिर्फ 'document.oncontextmenu = function() {झूठी वापसी; } '? –

6

आप ऐसा करने के लिए oncontextmenu ईवेंट का उपयोग कर सकते हैं।

लेकिन यदि उपयोगकर्ता जावास्क्रिप्ट बंद कर देता है तो आप इसे संभालने में सक्षम नहीं होंगे।

window.oncontextmenu = function() { 
    return false; 
} 

राइट क्लिक मेनू अक्षम कर देगा।

5

सबसे पहले अगर तुम यह कर रहे हैं:

निम्नलिखित लेख बेहतर क्यों ऐसा नहीं किया जाना चाहिए और क्या अन्य कार्यों आम संबंधित मुद्दों को हल करने के लिए लिया जा सकता है बताते हैं आपके पृष्ठ का - यह काम नहीं करेगा, क्योंकि वे इसे देखने के लिए हमेशा एक कीबोर्ड शॉर्टकट का उपयोग कर सकते हैं।

दूसरा, आपको इसे पूरा करने के लिए जावास्क्रिप्ट का उपयोग करना होगा। यदि उपयोगकर्ता को जेएस अक्षम है, तो आप दायाँ क्लिक को रोक नहीं सकते हैं।

उसने कहा, सही क्लिक अक्षम करने के लिए इसे अपने शरीर टैग में जोड़ें।

<body oncontextmenu="return false;"> 
6

<body oncontextmenu="return false;"> Google क्रोम में मेरे लिए काम करता है। अन्य ब्राउज़रों के बारे में निश्चित नहीं है।

नोट, किसी को भी राइट-क्लिक मेनू देखने के लिए जावास्क्रिप्ट को अक्षम करना है।

1

कृपया ऐसा न करें, यह बहुत परेशान है।

सही मेनू एक कारण के लिए है, और इसे वहां छोड़ा जाना चाहिए। कई ब्राउज़र एक्सटेंशन राइट क्लिक मेनू में प्रविष्टियां जोड़ते हैं और उपयोगकर्ता किसी भी पृष्ठ पर इसका उपयोग करने में सक्षम होना चाहिए।

इसके अलावा आप दायाँ क्लिक मेनू की सभी कार्यक्षमताओं का उपयोग अन्य तरीकों से कर सकते हैं (कीबोर्ड शॉर्टकट्स, ब्राउज़र मेनू आदि इत्यादि) ताकि राइट क्लिक मेनू को अवरुद्ध करने से उपयोगकर्ता को परेशान करने का एकमात्र प्रभाव हो।

पीएस: यदि वास्तव में आप इसे अवरुद्ध करने के आग्रह का विरोध नहीं कर सकते हैं तो कम से कम एक पॉपअप न डालें "कोई सही क्लिक अनुमति नहीं है"।

+3

-1: हालांकि यह कुछ अच्छे अंक बनाता है, यह सवाल का जवाब नहीं देता है इसलिए एक टिप्पणी होना चाहिए। – Quentin

+0

@ डेविड डोरवर्ड: यह वास्तव में सवाल का जवाब देता है। मैं कह रहा हूं कि यद्यपि वह राइट क्लिक मेनू की उपस्थिति को अवरुद्ध कर सकता है, लेकिन वास्तव में इसकी ** कार्यक्षमता ** को अवरोधित करने का कोई तरीका नहीं है, क्योंकि वे अन्य तरीकों से पुनः उपयोग योग्य हैं।राइट क्लिक मेनू को अवरुद्ध करना बुरा अभ्यास है, इसलिए मुझे यह समझाने का एक बेहतर जवाब मिला कि उसे क्यों नहीं करना चाहिए। – nico

3

के माध्यम से Google

पाया जा सकता है हालांकि, उपयोगकर्ताओं को इस अत्यधिक कष्टप्रद "सुविधा" को रोकने के लिए जावास्क्रिप्ट बंद कर सकते हैं इसके उदाहरण के बहुत सारे हैं। मुझे लगता है कि इसे लागू करने से पहले आपको वास्तव में इसके बारे में सोचना चाहिए। यह वास्तव में आपकी सामग्री की रक्षा नहीं करेगा (यदि वह वही है जो आप प्राप्त करने की कोशिश कर रहे हैं)।

एक लेख here है जो बताता है कि यह कितना परेशान और व्यर्थ है।

1

इस प्रयास करें: शरीर & पर नीचे दिए गए कोड लिखने जादू :)

body oncontextmenu="return false" 
0

आप राइट क्लिक ब्लॉक करने के लिए जावास्क्रिप्ट का उपयोग कर सकते है। Here वेबसाइट पर राइट क्लिक करने के लिए एक स्क्रिप्ट है।

0

को यहां बताए गए आपको Javascript और/या एक HTML विशेषता (जो वास्तव में एक जावास्क्रिप्ट ईवेंट हैंडलर वैसे भी है) के साथ ऐसा कर सकते हैं: http://www.codeproject.com/KB/aspnet/Disabling_the_right_click.aspx

<script language="javascript"> 
document.onmousedown=disableclick; 
status="Right Click Disabled"; 
Function disableclick(event) 
{ 
    if(event.button==2) 
    { 
    alert(status); 
    return false;  
    } 
} 
</script> 

और

<body oncontextmenu="return false"> 
... 
</body> 
0

// अक्षम सही जावा स्क्रिप्ट कोड के माध्यम से स्क्रिप्ट क्लिक

<script language=JavaScript> 
//Disable right click script 
var message = ""; 
/////////////////////////////////// 
function clickIE() { 
    if (document.all) { 
     (message); 
     return false; 
    } 
} 

function clickNS(e) { 
    if (document.layers || (document.getElementById && !document.all)) { 
     if (e.which == 2 || e.which == 3) { 
      (message); 
      return false; 
     } 
    } 
} 
if (document.layers) { 
    document.captureEvents(Event.MOUSEDOWN); 
    document.onmousedown = clickNS; 
} else { 
    document.onmouseup = clickNS; 
    document.oncontextmenu = clickIE; 
} 

document.oncontextmenu = new Function("return false") 
</script> 

Click here to see semo

1
window.oncontextmenu = function() { 
return false; 
} 

आपकी मदद कर सकता है।

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