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检查将失败。
答案 0 :(得分:2)
主要区别在于函数定义中的参数数量。标准的jQuery库有0; jQuery UI有1.如果你能告诉函数定义中有多少个参数,你可以知道哪个库的函数存在。
幸运的是,这很容易做到。函数的length
属性告诉您函数定义中有多少个参数。因此,如果$.fn.position.length
是0
,则该函数是标准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分钟找到答案。 : - /