【问题标题】:Calling an event after a jquery tab load在 jquery 选项卡加载后调用事件
【发布时间】:2012-04-08 15:16:52
【问题描述】:

我正在使用 jQuery 选项卡。在其中一个选项卡中是一个所见即所得的编辑器,在显示选项卡后需要刷新它,但我无法确定在加载选项卡后是否有事件触发。

据我了解,加载事件仅适用于使用 ajax 调用的选项卡。我试过使用它,但它不会触发: jQuery ui tabs load/tabsload event does not fire

在该示例中,他们使用 iframe,该 iframe 触发了加载事件。我只是在使用 div,它没有加载事件,也没有像 onshow 事件监听器那样。

我能得到的最接近的是 tabsselect 事件,它在单击选项卡时触发,但在加载新选项卡之前。

当我不使用 ajax 时,加载选项卡后是否会触发任何事件?

谢谢

【问题讨论】:

  • 你能指定你正在使用哪个标签库吗?我猜是jQuery UI。你已经尝试过“tabsshow”事件了吗?
  • 我没有尝试过 tabsshow,tabsshow 正是我需要的。谢谢! @mightyuhu

标签: jquery-ui jquery jquery-tabs


【解决方案1】:

您尝试过活动表演吗? http://jqueryui.com/demos/tabs/#event-show

$( ".selector" ).tabs({
   show: function(event, ui) { ... }
});

【讨论】:

    【解决方案2】:

    show 事件对我不起作用,但 create 事件对我起作用:

    $( ".selector" ).tabs({
       create: function(event, ui) { ... }
    });
    

    http://api.jqueryui.com/tabs/#event-create

    【讨论】:

    • 这里也一样,可能是升级到下一个版本的时候改了方法名
    • create 在创建选项卡时触发,而不是在单击和显示时触发。
    • 'create' 在内容加载完成之前触发,'load' 在内容加载后触发。这完全取决于您是否需要对选项卡中的内容执行任务,在这种情况下,“加载”会更合适。
    【解决方案3】:

    现在该事件被称为activate

    $( ".selector" ).tabs({
      activate: function(event, ui) { ... }
    });
    

    http://api.jqueryui.com/tabs/#event-activate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多