दिलचस्प पोस्ट
एक निश्चित स्थिति में एक स्ट्रिंग में एक वर्ण डालें कैसे jQuery का उपयोग कर एक div को घुमाने के लिए जावा विधि से 2 मान वापस कैसे करें? PHP में यूटीसी समय प्राप्त करें सीतनिद्रा में होना hbm2ddl.auto संभव मूल्यों और वे क्या करते हैं? कैसे फ्लेक्स में सभी अपवादों को पकड़ने के लिए? Matplotlib 2 सबप्लॉट, 1 रंग बार विंडोज फोन 8 एमुलेटर त्रुटि – स्विच बनाते समय कुछ हुआ स्प्लिटिंग सी ++ .एचपीपी /। सीपीपी फ़ाइलों में वर्ग – क्या यह संभव है? समान यादृच्छिक संख्या हर लूप चलना वर्णमाला रेंज अजगर दो CLLocationCoordinate2D के बीच असर की गणना करना पैकेज प्रबंधक कंसोल सक्षम-माइग्रेशन CommandNotFoundException केवल एक विशिष्ट वी.एस. प्रोजेक्ट में जावा में 2 दशमलव स्थानों तक गोल? HTML तालिका में JSON डेटा प्रदर्शित करें

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 अधिकांश ब्राउज़र में एक वैश्विक चर है