दिलचस्प पोस्ट
मैं PowerShell को .NET 4 रनटाइम के साथ कैसे चला सकता हूं? स्कैटर साजिश के लिए अलग-अलग टैग कैसे डाल सकते हैं वेनिला जावास्क्रिप्ट बनाम jQuery का उपयोग कब करना है? क्या एएसपी.नेट में एक अनुरोध या एक सर्वर के लिए स्थिर वर्ग के उदाहरण हैं? जेएस onClick प्रतिक्रिया विधि को मान नहीं दे सकता है क्या कोई DOM ईवेंट है, जब एक HTML चयन तत्व बंद हो जाता है? IDisposable इंटरफ़ेस का उचित उपयोग सुपर फास्ट getimagesize php में जावा का उपयोग करने वाले प्राचीनतम तरीकों में अधिकतम / न्यूनतम मान ढूँढना Windows सीएमडी स्टडआउट और एक फाइल में stderr पुनर्निर्देशित करें मेवेन के साथ निष्पादन योग्य जार का निर्माण? अजगर में बाइट सरणी के लिए हेक्साडेसिमल स्ट्रिंग मावेन अमान्य LOC शीर्षलेख (खराब हस्ताक्षर) जेडीबीसी के साथ कनेक्शन पूलिंग विकल्प: डीबीसीपी बनाम सी 3 पी 0 सी # में वेरिएबल नामों में @ वर्ण का उपयोग / अर्थ क्या है?

ReferenceError: फ़ायरफ़ॉक्स में घटना को परिभाषित नहीं किया गया है

मैंने एक क्लाइंट के लिए एक पेज बनाया है और मैं शुरू में क्रोम में काम कर रहा था और यह जांचने के लिए भूल गया कि क्या यह फ़ायरफ़ॉक्स में काम कर रहा था। अब, मुझे एक बड़ी समस्या है क्योंकि पूरे पृष्ठ स्क्रिप्ट पर आधारित है जो फ़ायरफ़ॉक्स में काम नहीं करता है।

यह सभी "लिंक" पर आधारित है जो एक rel जो सही पृष्ठ को छिपाने और दिखा रहा है। मुझे नहीं पता कि यह फ़ायरफ़ॉक्स में क्यों काम नहीं कर रहा है।

उदाहरण के लिए, id #menuPage , #aboutPage और इतने पर है। सभी लिंक्स में यह कोड है:

 <a class="menuOption" rel='#homePage' href="#">Velkommen</a> 

यह पूरी तरह क्रोम और सफारी में काम कर रहा है

यहां कोड है:

 $(document).ready(function(){ //Main Navigation $('.menuOption').click(function(){ event.preventDefault(); var categories = $(this).attr('rel'); $('.pages').hide(); $(categories).fadeIn(); }); // HIDES and showes the right starting menu $('.all').hide(); $('.pizza').show(); // Hides and shows using rel tags in the buttons $('.menyCat').click(function(event){ event.preventDefault(); var categori = $(this).attr('rel'); $('.all').hide(); $(categori).fadeIn(); $('html,body').scrollTo(0, categori); }); }); 

वेब के समाधान से एकत्रित समाधान "ReferenceError: फ़ायरफ़ॉक्स में घटना को परिभाषित नहीं किया गया है"

आप (कुछ) अपने ईवेंट हैंडलर्स को गलत तरीके से घोषित कर रहे हैं:

 $('.menuOption').click(function( event ){ // <---- "event" parameter here event.preventDefault(); var categories = $(this).attr('rel'); $('.pages').hide(); $(categories).fadeIn(); }); 

आपको "घटना" की आवश्यकता है ताकि हेन्डलर के लिए पैरामीटर हो। वेबकिट "ईवेंट" के लिए वैश्विक प्रतीक का उपयोग करने के आईई के पुराने व्यवहार का अनुसरण करता है, लेकिन फ़ायरफ़ॉक्स नहीं करता है जब आप jQuery का उपयोग कर रहे हैं, तो वह लाइब्रेरी व्यवहार को सामान्य बनाता है और यह सुनिश्चित करता है कि आपके ईवेंट हैंडलर ईवेंट पैरामीटर को पारित कर दिए गए हैं।

संपादित करें – स्पष्ट करने के लिए: आपको कुछ पैरामीटर नाम देना होगा; event का प्रयोग करके यह स्पष्ट होता है कि आप क्या चाहते हैं, लेकिन आप इसे e या cupcake या कुछ और कह सकते हैं।

यह भी ध्यान दें कि आपको शायद "देशी" (क्रोम और आईई और सफारी में) के बजाय jQuery से पारित पैरामीटर का उपयोग करना चाहिए कि वह एक (पैरामीटर) मूल घटना वस्तु के चारों ओर एक jQuery के आवरण है रैपर है जो ब्राउज़र में ईवेंट व्यवहार को सामान्य करता है। यदि आप वैश्विक संस्करण का उपयोग करते हैं, तो आपको यह नहीं मिलता।

ऐसा इसलिए है क्योंकि आप event में click फ़ंक्शन में पास करना भूल गए थे:

 $('.menuOption').on('click', function (e) { // <-- the "e" for event e.preventDefault(); // now it'll work var categories = $(this).attr('rel'); $('.pages').hide(); $(categories).fadeIn(); }); 

एक तरफ ध्यान दें, e अधिकतर सामान्यतः शब्द event विरोध के रूप में इस्तेमाल होता है क्योंकि Event अधिकांश ब्राउज़र में एक वैश्विक चर है