jQuery Tabs - 绑定到 tabscreate 事件

发布于 2024-10-15 17:00:19 字数 474 浏览 1 评论 0原文

我几乎已经为 jQuery UI 选项卡创建了一个插件,它为我提供了下一个和上一个按钮。但是,我无法绑定到 tabscreate 事件来为显示的第一个选项卡应用一些逻辑。

我在我的插件内部和外部都注意到了这一点(页面上的 jQuery)。

执行完 $('#tabs').tabs();

这有效

$(tabsSelector).bind("tabsshow", function (event, ui) {
  alert("On Tab Show");
});

这并不

$(tabsSelector).bind("tabscreate", function (event, ui) {
  alert("On Tabs Creation");
});

纯粹是因为选项卡是之前创建的,如果是这样,我如何通过插件添加到创建事件?

I have almost created a plugin for jQuery UI tabs that gives me next and previous buttons. However, I cannot bind to the tabscreate event to apply some logic for the first tab that is shown.

Ive noticed this inside and outside my plugin (jQuery on the page).

After doing $('#tabs').tabs();

This works

$(tabsSelector).bind("tabsshow", function (event, ui) {
  alert("On Tab Show");
});

This doesnt

$(tabsSelector).bind("tabscreate", function (event, ui) {
  alert("On Tabs Creation");
});

Is it purely because the tabs were created previously and if so how can I add to the create event via a plugin?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痴骨ら 2024-10-22 17:00:19

我认为您可以使用方法 length 来查询选项卡数。使用 select 方法进行导航就足够了。

如果您确实需要 tabscreate 事件,请在插件中包装调用 tabs() 方法,并将事件处理程序传递到那里。像这样的事情:

function CustomTabs(selector){
    $( selector ).tabs({
       create: function(event, ui) { /* put your code here */ }
    });
}

I think you just can use method length to query tabs count. It is sufficient to make navigation with select method.

If you realy need tabscreate event, wrap calling tabs() method within your plugin, and pass you event handler there. Something like this:

function CustomTabs(selector){
    $( selector ).tabs({
       create: function(event, ui) { /* put your code here */ }
    });
}
日裸衫吸 2024-10-22 17:00:19

最简单的方法就是不使用你的方法。使用“$(...).tabs({create: function(event,ui) {your code here} })”可以工作,但请记住调用了“create”事件(不知道为什么)在“show”事件之后(如果您使用它)。另请记住,“ui”(特别是 ui.panel)不可用。

希望它有帮助:-)

The easist way is not to use your method. Use "$(...).tabs({create: function(event,ui) {your code here} })" will work, but please keep in mind that the "create" event is called (don't know why) AFTER the "show" event (if you use it). Also keep in mind that the "ui" (specially the ui.panel) is NOT AVAILABLE.

Hope it helps :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文