How can I check if a particular jQuery UI function is available and use a different function if it i
Posted
by Mark B
on Stack Overflow
See other posts from Stack Overflow
or by Mark B
Published on 2010-06-17T10:38:27Z
Indexed on
2010/06/17
10:43 UTC
Read the original article
Hit count: 302
I'm writing a jQuery plugin and I would like my code to take advantage of the jQuery UI show(effect, [options], [speed], [callback])
and hide(effect, [options], [speed], [callback])
functions, which allow you to show and hide elements with a nice animation.
However, I'd also like my plugin to degrade gracefully if jQuery UI isn't available, switching back to use the basic, non-animating show()
and hide()
functions present in the standard jQuery API.
I'll need to test for the show and hide functions specifically, as even if jQuery UI is available it could potentially be a custom version, without the Effects components included.
At first I thought that I might be able to do something like:
if(typeof myelement.show('blind', 'slow') == 'undefined')
{
myelement.show('blind', 'slow');
}
else
{
myelement.show();
}
But of course this doesn't work, as even if UI isn't present, show()
is still a function, it just has a different signature—so typeof
returns object
in either case.
So, what's the best way for me to check if jQuery UI is available to my plugin? Any help is much appreciated!
© Stack Overflow or respective owner