jquery - 检查 jQuery UI 选项卡是否已初始化(不检查类)

标签 jquery jquery-ui jquery-ui-tabs

使用 jQuery UI 选项卡 - 我编写了一个与 ui 选项卡集成的插件。 如果 .tabs() 尚未被调用,我已经设置了启动 jQuery UI 选项卡的插件,但这只是进行了一个简单的类检查:

 if(!$globalTabs.hasClass("ui-tabs")){
    $globalTabs.tabs();
 }
但这是有问题的,因为为了避免 FOUC,开发人员通常会在选项卡中添加 UI 类,以便在 document.ready 之前获得更好的初始渲染。

我可以检查不同的类,例如`ui-widget1,但想知道是否有另一种/更好的方法?

最佳答案

您可以使用 data() 查询附加的小部件:

if (!$globalTabs.data("tabs")) {
    $globalTabs.tabs();
}

此行为记录在 Widget factory 中jQuery UI 的页面 Development & Planning Wiki :

  • Plugin instance accessible via $( "#something" ).data( "pluginname" )

    • A reference to a jQuery object containing the DOM element is available as a property of the instance as this.element, so it is easy to go back and forth between the object and the element.

更新:从 jQuery UI 1.9 开始,the widget key becomes the widget's fully qualified name, with dots replaced with dashes ,如:

if (!$globalTabs.data("ui-tabs")) {
    $globalTabs.tabs();
}

1.9 中仍然支持使用非限定名称,但已弃用,并且在 1.10 中将不再支持。

关于jquery - 检查 jQuery UI 选项卡是否已初始化(不检查类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12393773/

相关文章:

javascript - 如何使用jquery选择器获取没有id的内部div

javascript - Fire Tabs选择第一个 Jquery UI 选项卡

javascript - 当 jquery 类等于某个值时,如何执行数学运算?

javascript - 将不同的链接分配给不同的图像,并使其在iframe容器上播放分配的(youtube)链接

html - 在 rtl 方向自动完成滚动

jquery - 如何自定义主题 jquery UI 选项卡(不使用 themeroller)

jquery - iframe 对于我的 MVC Web 应用程序场景是好是坏

jquery - 元素的position().top在滚动后不会改变 - 如何获取新位置?

javascript - container width + margin-left 滑动时不显示所有图片

javascript - 无法在 jqueryUI 中重新绑定(bind)可拖动事件