जब मैं कोई इनपुट फ़ील्ड पर राइट-क्लिक करता हूं तो मैं डिफ़ॉल्ट संदर्भमेनू को अक्षम करना चाहता हूं ताकि मैं एक कस्टम संदर्भमेनू दिखा सकूं। सामान्य शब्दों में, अपनी सुंदर की तरह कुछ कर रही द्वारा राइट-क्लिक मेनू को निष्क्रिय करने के लिए आसान: एफएफ में इनपुट फ़ील्ड को छोड़करjQuery: preventDefault() इनपुट/क्लिक घटनाओं पर काम नहीं कर रहा है?
$([whatever]).bind("click", function(e) { e.preventDefault(); });
और वास्तव में, मैं इस पर क्या कर सकते हैं हर तत्व के बारे में - किसी को पता क्यों या कर सकते थे मुझे कुछ दस्तावेज की ओर इशारा करते हैं?
यहां प्रासंगिक कोड है जिसके साथ मैं काम कर रहा हूं, धन्यवाद दोस्तों।
HTML:
<script type="text/javascript">
var r = new RightClickTool();
</script>
<div id="main">
<input type="text" class="listen rightClick" value="0" />
</div>
जे एस:
function RightClickTool(){
var _this = this;
var _items = ".rightClick";
$(document).ready(function() { _this.init(); });
this.init = function() {
_this.setListeners();
}
this.setListeners = function() {
$(_items).click(function(e) {
var webKit = !$.browser.msie && e.button == 0;
var ie = $.browser.msie && e.button == 1;
if(webKit||ie)
{
// Left mouse...do something()
} else if(e.button == 2) {
e.preventDefault();
// Right mouse...do something else();
}
});
}
} // Ends Class
संपादित करें:
क्षमा करें, टिप्पणी मुझे लगता है कि मैं कुछ चीजों को स्पष्ट करना चाहिए पढ़ने के बाद।
1) उपरोक्त कोड काम करता है ... एक अर्थ में। कोड किस बटन पर क्लिक किया गया था, इस प्रकार सॉर्ट करने में सक्षम है, यह सिर्फ परवाह नहीं करता है कि मैं e.preventDefault() कहता हूं और राइट-क्लिक मेनू अभी भी पॉप अप करता है। दूसरे शब्दों में, यदि आप ई। बटन पर अलर्ट डालते हैं तो आपको बाएं और 2 के लिए अपना 1 या 0 प्राप्त होगा ... लेकिन यह सिर्फ मुझ पर हंसता है और अभी भी शापित डिफ़ॉल्ट मेनू दिखाता है!
2) अगर मैं किसी अन्य तत्व (इनपुट के अलावा) पर jQuery चयनकर्ता डालता हूं तो सब कुछ काम करेगा, एफएफ रोकथाम डीफॉल्ट() कॉल का सम्मान करेगा और डिफ़ॉल्ट राइट-क्लिक मेनू नहीं दिखाया जाएगा।
सिर्फ 'झूठी वापसी' के बारे में क्या? –
इसके अलावा, 'e.button' के बजाय 'e.which' आज़माएं। – karim79
संबंधित हो सकता है http://stackoverflow.com/questions/1489817/jquery-liveclick-firing-for-right-click – scott