事件机制。
Simple Example
<!-- page.wxml -->
<view id="outer" catch:tap="handleTap">
<view id="inner">点击我</view>
</view>Page({
handleTap: function(e) {
console.log(e)
}
})currentTarget 总是指向事件绑定的元素,而 target 则是事件发生时所在的元素。比如 tap 事件在 #inner 上发生,但是最终冒泡到 #outer 上才被事件处理函数执行,因此 currentTarget 是 #outer 而 target 是 #inner。
bind, catch, capture-bind, capture-catch
这些都用来做事件绑定,如 bind:touchstart、capture-catch:touchstart。
bind 不会阻止事件向上冒泡,catch 会。
带 capture- 头的,会在事件捕获阶段被执行,而不是在事件冒泡阶段。看看 MDN 上对于捕获和冒泡的介绍。看看微信官方 文档 对这块的描述。现代浏览器都采用在冒泡阶段执行事件处理函数。