自定义事件
最后更新于:2022-04-01 04:38:39
## 自定义事件
## Custom events
iScroll还提供额一些你可以挂靠的有用的自定义事件。
使用`on(type, fn)`方法注册事件。
~~~
myScroll = new IScroll('#wrapper');
myScroll.on('scrollEnd', doSomething);
~~~
上面的代码会在每次滚动停止是执行`doSomething`方法。
可以挂靠的事件如下:
* **beforeScrollStart**,在用户触摸屏幕但还没有开始滚动时触发。
* **scrollCancel**,滚动初始化完成,但没有执行。
* **scrollStart**,开始滚动
* **scroll**,内容滚动时触发,只有在`scroll-probe.js`版本中有效,请参考[onScroll event](https://iiunknown.gitbooks.io/iscroll-5-api-cn/content/customevents.html#onscroll)。
* **scrollEnd**,停止滚动时触发。
* **flick**,用户打开左/右。
* **zoomStart**,开始缩放。
* **zoomEnd**,缩放结束。
## onScroll事件
The `scroll` event is available on **iScroll probe edition** only (`iscroll-probe.js`). The probe behavior can be altered through the `probeType` option. `scroll`事件在**iScroll probe edition**版本中有效(仅包含在`iscroll-probe.js`脚本文件中)。可以通过改变`probeType`选项值来改变`scroll`事件的触发时机。
### options.probeType
这个属性是调节在`scroll`事件触发中探针的活跃度或者频率。有效值有:`1`, `2`, `3`。数值越高表示更活跃的探测。探针活跃度越高对CPU的影响就越大。
`probeType: 1` 对性能没有影响。`scroll`事件只有在滚动条不繁忙的时候触发。 `probeType: 2` 除了在势能和反弹范围内,将在`scroll`事件周期内一直执行。这类似于原生的`onScroll`事件。
`probeType: 3` 像素级的触发`scroll`事件。注意,此时滚动只关注`requestAnimationFrame`(即:`useTransition:false`).
请参考 [probe demo](http://lab.cubiq.org/iscroll5/demos/probe/).