2011-10-31 11 views
5

जब मैं jQuery.jax जैसे jQuery विधियों को कॉल करता हूं तो मैं $ .ajax का उपयोग करता हूं। Resharper jqGrid के कोड से कुछ उठा रहा है जो जब भी मैं $ टाइप करता हूं तो इसे $ टी स्वतः पूर्ण करना चाहता है। यह jQuery कोडिंग वास्तव में धीमा कर रहा है - क्या किसी को पता है कि मैं इसे कैसे अक्षम कर सकता हूं?

अद्यतन

मैं जानता हूँ कि यह संभव है पूरी तरह से उपकरण से Resharper निलंबित करने के लिए -> विकल्प -> Resharper -> जनरल -> को निलंबित, लेकिन मैं वास्तव में सिर्फ यह मेरे अकेले Javscript छोड़ना चाहते हैं, (

+0

क्या आप अपने प्रश्न के पाठ में शामिल हो सकते हैं कि Resharper, jQuery, jqGrid और jQuery UI का कौन सा संस्करण आप उपयोग करते हैं? – Oleg

+0

मैं रीशर्पर 6.0 (6.0.2202.688), jqGrid 4.2.0, jQuery UI 1.8.16 और jQuery 1.6.4 या 1.7RC1 का उपयोग करता हूं और वर्णित समस्या को पुन: उत्पन्न नहीं कर सकता। केवल '$' ज्ञात है और कोई '$ t' नहीं है। – Oleg

+0

मुझे '$ t' के बजाय' $ e' मिलता है। Resharper jquery.corners.js से इसे उठाता है ... Resharper jQuery के बजाय jQuery प्लगइन्स से अन्य jQuery विधियों को भी उठाता है। मैं jQuery.js सर्वोच्च प्राथमिकता, या कुछ समान देने के लिए Resharper बताने में सक्षम होना चाहता हूँ। –

उत्तर

1

मैं अपने कोड में या वैश्विक चर $t कई स्थानों पर परिभाषित कर रहे हैं। jqGrid का कोड है

methodName: function (methodParameters) { 
    return this.each(function() { 
     var $t = this, ... 
     ... 
    }); 
} 
तरह jqGrid के कोड में है कि कहीं न कहीं लगता है

तो ऐसे कई स्थान हैं जहां स्थानीय परिवर्तनीय $t परिभाषित किए गए हैं। अन्य विधियों के अंदर आप var t = this या var ts = this या var self = this और इसी तरह देखेंगे।

तो मुझे लगता है, jqGrid का कोड है जो तुम वहाँ का उपयोग में है कि कहीं कप & चिपकाया त्रुटि कर रहे हैं: एक var $t = this अन्य विधि जहां एक-दूसरे चर नाम का इस्तेमाल किया this को बचाने के लिए में परिभाषित होने समारोह से कोड की नकल की। तो $t वैश्विक चर के रूप में व्याख्या किया जाएगा।

मैं आपको अपने कोड में $t की परिभाषा को खोजने की सलाह देता हूं। एफ 12$t पर दबाएं या वैश्विक$t चर परिभाषित करने के लिए Resharper की अन्य संभावनाओं का उपयोग करें।

+1

सुझाई गई विधि को बदलने से लक्षण ठीक हो जाता है, रोग नहीं। अगर मैं '$ e' को सही करता हूं जो रिशेर्पर सुझाता है, तो यह मेरे समाधान में संदर्भित किसी भी अन्य jQuery प्लगइन से '$' से शुरू होने वाला एक और वैश्विक चर है। –

+0

@ मैटकास्टो: मैंने जवाब में केवल मेरी धारणाएं लिखीं क्योंकि मैं * समस्या निवारण 6 और jqGrid के अपने संस्करण पर समस्या का पुन: उत्पन्न नहीं कर सकता। तो मेरे पास कहीं भी परिभाषित कोई वैश्विक '$ t' या' $ e' चर नहीं है। क्या आप एक डेमो प्रदान कर सकते हैं जो आपकी समस्या का पुनरुत्पादन करता है? JqGrid, jQuery और jQuery UI का कौन सा संस्करण आप उपयोग करते हैं? आप कौन से अन्य प्लगइन का उपयोग करते हैं? क्या आप 'jquery.jqGrid.src.js' या' jquery.jqGrid.min.js' का उपयोग करते हैं? – Oleg

+0

मैं jQuery कोनों 0.3 का उपयोग करके '$ e' चर के साथ समान व्यवहार को पुन: उत्पन्न करने में सक्षम था। मुझे लगता है कि आप इस तरह के व्यवहार को प्राप्त कर सकते हैं जो वैश्विक वैरिएबल बनाकर हो सकता है जो समाधान में किसी भी जेएस फ़ाइल में डॉलर के हस्ताक्षर '$ 'के साथ शुरू होता है, और रिशेर्पर इसे उठाएगा। हालांकि, मैंने इसका परीक्षण नहीं किया है। –

1

एक सच्चे समाधान की कमी के कारण, आपके समाधान में $ फ़ंक्शन को एक सामान्य.जेएस फ़ाइल में परिभाषित करना होगा।

$ = $; 

यह (मेरे मामले में $e) $t या कोई अन्य वैश्विक विधि जैसा कि आप देख के साथ समस्या ठीक नहीं होती लेकिन यह शीर्ष सुझाव के रूप में अपने common.js फ़ाइल से $ सुझाव देने चाहिए।

मुझे इस काम को अपमानजनक jQuery प्लगइन स्रोत फ़ाइलों को संशोधित करने से थोड़ा अधिक पसंद है क्योंकि मैं हर बार जब मैं अपने प्लगइन अपडेट करता हूं तो इस संशोधन को फिर से लागू नहीं करना चाहता हूं। इसके अलावा, मुझे वैरिएबल नामों को बदलकर या वैश्विक चर को खत्म करके कुछ भी तोड़ने के बारे में चिंता करने की ज़रूरत नहीं है।

संबंधित मुद्दे

 संबंधित मुद्दे