检查jQuery UI是否已加载

35

3
你看过这个问题吗?https://dev59.com/eXE95IYBdhLWcg3wkekf你见过这个问题吗?https://dev59.com/eXE95IYBdhLWcg3wkekf - ipr101
哇,stackoverflow的搜索功能真的很差..在发布这个问题之前我一直在寻找答案,但惊讶地发现没有人问过这个问题。非常感谢。 - vsync
如果可以的话,我会删除这个问题……没有必要留下副本。 - vsync
警告($.ui.version) ; - Dinesh
3个回答

38
if (typeof jQuery.ui !== 'undefined') ...

应该可以工作。

另请参见此SO帖子


1
@vsync:我[强烈反对](在左侧使用jQuery UI复选框的复选框并点击“运行”进行尝试) - Brad Christie
3
如果(typeof jQuery.ui === 'function'),则消除任何不明确性。 - dewd
我同意@vsync的观点。如果jQuery和UI都没有加载,这里会出现错误的结果。即使这个答案在6年内被接受/赞了28次,它也是错误的。从typeof(jQuery.ui)期望的正确类型是object。像tabs这样的属性是一个function。如果UI没有加载,typeof(jQuery.ui.tabs)将抛出有关未定义属性的错误。因此,最好的测试是if(typeof(jQuery.ui) == "object") { if(typeof(jQuery.ui.tabs) == "function"){ console.log("jQuery-UI loaded")}}。--请注意,需要嵌套if条件以避免未定义属性错误。 - Louys Patrice Bessette

35

可以检查:

$.ui

或获取版本:

$.ui.version

0

请确保您将调用它的任何代码放在$(document).ready()中。此时,页面上的所有内容都应该已经加载完毕。


我总是在底部使用脚本(在关闭BODY标签之前)。此外,我想知道页面上是否有UI脚本,因为这是一个未知因素。 - vsync
2
仅仅因为加载了jQuery并不意味着jQuery UI也加载成功(例如,资源未找到、加载错误等)。 - Brad Christie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接