Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Calculator

0

199
Views
How to check jQuery plugin and functions exists?

I have a plugin in some pages but in some other pages I don't want it so I didn't reference its script file.

How to check if the plugin functions exist before using it.

In my case I am using this plugin: and I use it like this:

$('#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);
});

What I want is to make a check before calling this marquee function if it exist or not.

9 months ago · Santiago Trujillo
3 answers
Answer question

0

if ($.fn.marquee) {
    // there is some jquery plugin named 'marquee' on your page
}
9 months ago · Santiago Trujillo Report

0

You can also do this. Let me take jQuery marquee example.

This is good if you are using only jQuery.

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

OR

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

Similar to above but Safe when you are using other JS frameworks Mootools etc.

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

OR

if(jQuery.fn.marquee !== undefined) {
    // marquee is loaded and available
}
9 months ago · Santiago Trujillo Report

0

Slightly better:

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

Maybe a little overkill, but this will ensure that it's at least a function.

Update January 2021:

Since jQuery.isFunction() has been deprecated as of version 3.3, the easiest & recommended way to check this is now:

if (typeof $.fn.marquee === "function") {
    // ...
}

Note that this may not be enough for certain very old browsers—see the $.isFunction() implementation for details.

9 months ago · Santiago Trujillo Report
Answer question
Find remote jobs