2011-03-17 11 views
43

मेरे पास कुछ पृष्ठों में एक प्लगइन है लेकिन कुछ अन्य पृष्ठों में मुझे यह नहीं चाहिए इसलिए मैंने अपनी स्क्रिप्ट फ़ाइल का संदर्भ नहीं दिया।jQuery प्लगइन और फ़ंक्शन कैसे जांचें?

यह जांचने से पहले कि प्लगइन फ़ंक्शन मौजूद हैं या नहीं।

मेरे मामले में मैं इस प्लगइन का उपयोग कर रहा: और मैं इसे इस तरह का उपयोग करें:

$('#marquee-inner div').marquee('pointer').mouseover(function() { 
    $(this).trigger('stop'); 
}).mouseout(function() { 
    $(this).trigger('start'); 
}).mousemove(function(event) { 
    if ($(this).data('drag') == true) { 
     this.scrollLeft = $(this).data('scrollX') + ($(this).data('x') - event.clientX); 
    } 
}).mousedown(function(event) { 
    $(this).data('drag', true).data('x', event.clientX).data('scrollX', this.scrollLeft); 
}).mouseup(function() { 
    $(this).data('drag', false); 
}); 

क्या मैं चाहता हूँ इस मार्की फ़ंक्शन को कॉल करता है, तो यह अस्तित्व में है या नहीं से पहले एक जांच करने के लिए है।

+1

संभावित डुप्लिकेट [मैं कैसे जांच सकता हूं कि एक jQuery प्लगइन लोड हो गया है?] (Http://stackoverflow.com/questions/400916/how-can-i-check-if-a-jquery-plugin-is- लोड किया गया) – toxalot

+0

[jQuery या jQuery प्लगइन्स को लोड या नहीं जांचने के लिए विस्तृत आलेख] (http://conceptf1.blogspot.com/2013/11/jquery-library-loaded-or-not-validation.html) –

उत्तर

115
if ($.fn.marquee) { 
    // there is some jquery plugin named 'marquee' on your page 
} 
+1

इतना आसान, मैं पुष्टि करें कि यह काम करता है, धन्यवाद। – jackJoe

+0

[jQuery या jQuery प्लगइन्स को लोड या नहीं जांचने के लिए विस्तृत आलेख] (http://conceptf1.blogspot.com/2013/11/jquery-library-loaded-or-not-validation.html) –

+0

इसके लिए शुद्ध जेएस समाधान? $ संकेत के बिना ?? – quarky

17

आप यह भी कर सकते हैं। मुझे jQuery मार्की उदाहरण लेते हैं।

यह अच्छा है अगर आप केवल jQuery का उपयोग कर रहे हैं।

if($().marquee) { 
    // marquee is loaded and available 
} 

या

if($.fn.marquee !== undefined) { 
    // marquee is loaded and available 
} 

ऊपर, लेकिन सुरक्षित करने के लिए इसी तरह की है जब आप अन्य जे एस का उपयोग कर रहे चौखटे Mootools आदि

if(jQuery().marquee) { 
    // marquee is loaded and available 
} 

या

if(jQuery.fn.marquee !== undefined) { 
    // marquee is loaded and available 
} 
+0

यह बेहतर उपयोग होगा! == "अपरिभाषित"! == और === ऑब्जेक्ट के स्ट्रिंग प्रकार से सीधे तुलना करें। इसलिए मूल रूप से आप तुलना कर रहे हैं स्ट्रिंग प्रकार है, मुझे पता है कि काम है लेकिन उद्धरणों का उपयोग करने के लिए शायद अधिक "सही" होगा ... – ncubica

4

थोड़ा बेहतर:

if ($.isFunction($.fn.marquee)) { 
    // ... 
} 

शायद थोड़ा अधिक ओवरकिल, लेकिन यह सुनिश्चित करेगा कि यह कम से कम एक कार्य है।

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