如何检查是否加载了jQuery UI Position

时间:2012-09-11 20:42:35

标签: jquery jquery-ui position

jQuery开箱即用a native .position() function,它获取元素相对于其在页面上的位置的定位值。

jQuery UI extends that same function允许修改元素的定位。

如何检查页面中是否加载了.position()的jQuery UI版本?

可悲的是,这不仅仅是页面上checking whether jQuery UI is loaded的问题,因为.position()插件扩展名不是是jQuery UI Core库的一部分,这意味着有人会在某个地方装载一个jQuery UI框架而不用 .position()插件,并且链接的jQuery UI检查将失败。

2 个答案:

答案 0 :(得分:2)

主要区别在于函数定义中的参数数量。标准的jQuery库有0; jQuery UI有1.如果你能告诉函数定义中有多少个参数,你可以知道哪个库的函数存在。

幸运的是,这很容易做到。函数的length属性告诉您函数定义中有多少个参数。因此,如果$.fn.position.length0,则该函数是标准jQuery库的函数;如果它是1则是jQuery UI库。

所以:

if ($.fn.position.length === 1) {
    // jQuery UI position method loaded
}

答案 1 :(得分:1)

Woops,等等;我想我找到了。

加载了jQuery UI的页面确实会初始化jQuery.ui(这对于jQuery UI检查会很好),但是那些插入了.position()插件的页面也会初始化jQuery.ui.position同样。

数字我在询问SO后5分钟找到答案。 : - /