2010-06-04 7 views
5

का समर्थन करता है, मैं एक संदर्भ-मेनू jquery प्लगइन का उपयोग कर रहा हूं और मुझे यह पता लगाने की आवश्यकता है कि कौन से ब्राउज़र इसका समर्थन करते हैं। यह कैसे किया जा सकता है?पता लगाएँ कि ब्राउज़र राइट-क्लिक ईवेंट ओवरराइडिंग

मैं ओपेरा और सफारी के कुछ संस्करणों सुना व्यापार

+1

यह अवलोकन उपयोगी हो सकता है: http://www.quirksmode.org/dom/events/contextmenu.html –

उत्तर

4

आप बना सकते हैं और एक ContextMenu घटना मैन्युअल सक्रिय कर सकता है अधिभावी इस राइट क्लिक समर्थन नहीं करते। यदि आप उचित हैंडलर सेट करते हैं, तो आप यह पता लगा सकते हैं कि हैंडलर कहलाता है या नहीं।

function testContextMenuEvent() { 
    var supported = false; 
    function handler(e) { 
    supported = true; 
    e.stopPropagation(); 
    } 
    $(document).bind('contextmenu', handler); 
    var evt = jQuery.Event("contextmenu"); 
    $(document).trigger(evt); 
    $(document).unbind('contextmenu', handler); 
    return supported; 
} 

यहाँ एक परीक्षण पृष्ठ है: http://jsfiddle.net/Hk4xA/6/

EDIT2:

यहाँ एक उदाहरण (घटना निर्माण और अवलोकन के लिए jQuery का उपयोग) है डोम फिर striken गया है। मैं भूल गया कि createEvent पूरी तरह से आईई पर काम नहीं करता है। तो इसके बजाय मैंने घटना निर्माण के लिए भी jQuery का उपयोग किया।

+0

अच्छा! लगता है कि इसे jquery के लिए अनुकूलित किया जा सकता है हालांकि? मैं प्रोटोटाइप – Jonah

+0

का उपयोग नहीं कर रहा हूं। प्रोटोटाइप लाइन 5, 7 और 11 का उपयोग किया जाता है। JQuery की इवेंट एपीआई यहां समान तरीकों के लिए अलग-अलग नाम हैं: देखें -> बाइंड, स्टॉप ऑब्सर्विंग -> अनबिंड, स्टॉप -> रोकें डीफॉल्ट। उदाहरण के लिए मेरा संपादन देखें। – Alsciende

+0

धन्यवाद एक टन आदमी – Jonah