bootstrap.v3标签页tab.js源码疑问

背景

最近在写自己的js插件库,主要是参考bootstrap来写,因为需要tab.js,所以直接抄bootstrap的了,但是有些地方不懂

问题

tab.js下,以下两段代码起到了什么作用?

// line 39 - 47
var hideEvent = $.Event('hide.bs.tab', {
  relatedTarget: $this[0]
})
var showEvent = $.Event('show.bs.tab', {
  relatedTarget: $previous[0]
})

$previous.trigger(hideEvent)
$this.trigger(showEvent)
// line 55 - 62
  $previous.trigger({
    type: 'hidden.bs.tab',
    relatedTarget: $this[0]
  })
  $this.trigger({
    type: 'shown.bs.tab',
    relatedTarget: $previous[0]
  })

自己的探索

  1. 单独提取tab.js,可以直接执行,所以是没有依赖其他的widget/util的

  2. 删除掉所示的两段代码,还是可以正常使用的

  3. 学习了一下jQ的$.Event和trigger的API,似乎在这里写的东西让我迷惑

请教

所示的两段代码起到了什么作用?

阅读 2.4k
1 个回答

定义了一些相应事件的钩子函数,不影响主要功能的,不知道结合这个文档再看一下源代码是否清楚一点
clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题