Drupal 7 & jQuery - $ डॉलर का चिन्ह


18

यदि मैं jQuery के अलावा किसी भी जेएस लाइब्रेरी का उपयोग करने की योजना नहीं बना रहा हूं, तो क्या jQuery.noConflict () के लिए Drupal के कॉल की आवश्यकता का कोई कारण है जो jQuery के लिए एक उपनाम के रूप में $ निकालता है?

यह मानते हुए कि $ उर्फ ​​को हटाने की कोई आवश्यकता नहीं है, क्या कोई ऐसा तरीका है जिससे मैं इसे अपने jQuery कोड (फ़ंक्शन ($) {...}) में हमेशा के लिए वापस ला सकता हूं?

जवाबों:


11

इसका समाधान जो मैं लेकर आया हूं वह यह है:

पहली जेएस फ़ाइल के शीर्ष पर मैं अपनी कस्टम थीम में शामिल करता हूं, मैं बस निम्नलिखित पंक्ति डालता हूं:

$ = jQuery;

किया हुआ :)


हा हा धन्यवाद! मैं यह पता लगाने की कोशिश कर रहा था कि jQuery को क्यों परिभाषित किया गया था, लेकिन $ऐसा नहीं था। हमें उस स्निपेट को एक मॉड्यूल में बनाना चाहिए: D
CamelBlues

वह बनानाvar $ = jQuery;
आम

6

नहीं, आप नहीं कर सकते हैं (ठीक है, आप शायद कर सकते हैं, लेकिन आपको नहीं करना चाहिए)।

हो सकता है कि किसी बिंदु पर, आपका मॉड्यूल किसी अन्य साइट पर किसी अन्य प्रोजेक्ट पर उपयोग किया जाएगा और फिर वह साइट किसी अन्य JS लाइब्रेरी का उपयोग करेगी (याद रखें, आपके द्वारा लिखा गया प्रत्येक ड्रूपल मॉड्यूल स्वचालित रूप से GPL है और आपका क्लाइंट किसी भी तरह से इसका उपयोग कर सकता है)।

यह हर js फ़ाइल में इन दो लाइनों को जोड़ने के लिए जटिल नहीं है :)


मैं सहमत हूँ; अनुकूलता के लिए, बेहतर है कि jQuery के लिए उपनाम के रूप में $ का उपयोग न करें , Drupal में, और हमेशा JQuery का उपयोग करके जावास्क्रिप्ट कोड को लपेटें (function($){…})
kiamlaluno

उस समय, यह मुश्किल नहीं होगा कि मैं अपने मॉड्यूल में सभी $ को jQuery में बदल दूं।
मैक्सिडसन

जब आप PHP को जावास्क्रिप्ट के साथ मिलाते हैं तो @maxedison क्या होता है? जावास्क्रिप्ट द्वारा हेरफेर किए गए टेक्स्ट स्ट्रिंग्स में डॉलर के संकेतों का उपयोग करें?

1
आपने पूरी तरह से अनदेखा कर दिया कि प्रश्न पूछने वाला "क्या मान रहा है"। यह एक वैध प्रश्न और बाधा है, खासकर जब 3 पार्टी प्लगइन्स को एम्बेड करना - आपको उन सभी फ़ाइलों को संपादित करने की आवश्यकता है ताकि उन्हें बिना $ काम करने के लिए, और आपको इसे हर अपडेट करने की आवश्यकता हो। ढूँढें और बदलें अधिक जटिल प्लगइन्स के साथ काम नहीं करता है, क्योंकि उन्हें वैश्विक स्कोप होने के लिए कुछ की आवश्यकता हो सकती है। एक तय tbh की जरूरत है।
लाल

मैं इंटरनेट पर एक वाक्यांश गढ़ने की कोशिश कर रहा हूं: "हर बार जब आप $ का उपयोग करते हैं (), भगवान एक बिल्ली का बच्चा मारता है।" कृपया - बिल्ली के बच्चे के बारे में सोचो।
aendrew

0

यह भी एक संभव समाधान हो सकता है, यदि आप उन प्रकार के प्रश्नों के लिए मॉड्यूल का उपयोग करते हैं।

jQuery डॉलर

यह मॉड्यूल डेवलपर्स को jQuery लाइब्रेरी तक पहुंचने के लिए $ का उपयोग करने की बजाय स्पष्ट रूप से jQuery को कॉल करने या Drupal 7 में विशेष क्लोजर का उपयोग करने की अनुमति देता है। आपको बस इतना करना है कि यह सक्षम है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.