quicktab
Version:
Multi IFrame tab plugin. operate IFrame like operating browser tabs
254 lines (121 loc) • 3.54 kB
Markdown
# 事件
Quicktab的事件API
事件的绑定有多种方式
- 通过初始化选项对象
- 通过DOM的事件处理
- 通过data属性
- 通过实例的`on`方法
通过初始化选项绑定
```js
const qtab = new Quicktab(el, {
onEventName: function (arg1, arg2, ...) {
//....
}
})
```
通过DOM的事件处理
```html
<div class="qtab"></div>
<script>
//事件监听
document.querySelector('.qtab').addEventListener('event-name', function (event) {
console.log(event.detail[0]);//当前quicktab对象
console.log(event.detail[1]);//arg1
console.log(event.detail[2]);//arg2
})
new Quicktab('.qtab',{
//...
})
</script>
```
通过data属性来绑定事件
```html
<div data-qt-toggle="quicktab" data-qt-id="qtab" data-qt-onInit="init" data-qt-onTabLoaded="tabLoad"></div>
<script>
function tabLoad(arg1,arg2,...) {
//this:当前quicktab对象
}
// init事件
function init() {
}
</script>
```
通过实例的`on`方法
```js
const qtab = new Quicktab(el, {
//...
})
qtab.on('event-name',function(evt){
console.log(evt[0]);//当前quicktab对象
console.log(evt[1]);//arg1
console.log(evt[2]);//arg2
})
```
::: tip
如果您使用DOM事件处理程序,请确保在执行事件之前绑定事件监听器,on方式监听事件由于它是必须在实例化之后才能监听,因此部分事件通过on方法是无法监听的,下面会说明哪些方法使用on的方式无法监听。
:::
## onTabActivated
- **DOM/on Event:** `tab-activated`
- **参数:** `url`
- **详情:**
当Tab被激活时触发,该事件不支持on方式绑定,参数包含:
* `url`: 当前Tab的url
## onTabLoaded
- **DOM/on Event:** `tab-loaded`
- **参数:** `url`
- **详情:**
当Tab加载完毕时触发:
* `url`: 当前Tab的url
## onTabTimeout
- **DOM/on Event:** `tab-timeout`
- **参数:** `url`
- **详情:**
当Tab加载超时时触发(需要启用超时功能),参数包含:
* `url`: 当前Tab的url
## onTabFinally
- **DOM/on Event:** `tab-finally`
- **参数:** `url`
- **详情:**
Tab加载完毕或超时都会触发,参数包含:
* `url`: 当前Tab的url
## onTabAll
- **DOM/on Event:** `tab-all`
- **参数:** `undefined`
- **详情:**
页面上所有的Tab都完成时(它会等待所有的Tab都进入Finally阶段后触发)触发
## onTabLoadingTransitionend
- **DOM/on Event:** `tab-loading-transitionend`
- **参数:** `url`
- **详情:**
Tab加载层过渡完毕时触发(需要启用loading加载层效果),参数包含:
* `url`: 当前Tab的url
## onTabClick
- **DOM/on Event:** `tab-click`
- **参数:** `url`
- **详情:**
Tab被点击时触发,参数包含:
* `url`: 当前Tab的url
## onTabDoubleClick
- **DOM/on Event:** `tab-double-click`
- **参数:** `url`
- **详情:**
Tab被双击时触发(需要启用Tab双击功能),参数包含:
* `url`: 当前Tab的url
## onTabClose
- **DOM/on Event:** `tab-close`
- **参数:** `url`
- **详情:**
Tab关闭时触发,参数包含:
* `url`: 当前Tab的url
## onTabCloseAll
- **DOM/on Event:** `tab-close`
- **参数:** `undefined`
- **详情:**
所有的可被关闭Tab都被关闭的时候触发
## onInit
- **DOM/on Event:** `init`
- **参数:** `undefined`
- **详情:**
`Quicktab`初始化完毕回调
## 事件触发顺序总览
<ShowCase text="Run" src="demo/events.html"/>