事件的捕获阶段
自基础库版本 1.5.0 起,触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前,且在捕获阶段中,事件到达节点的顺序与冒泡阶段恰好相反。需要在捕获阶段监听事件时,可以采用capture-bind
、capture-catch
关键字,后者将中断捕获阶段和取消冒泡阶段。
在下面的代码中,点击 inner view 会先后调用handleTap2
、handleTap4
、handleTap3
、handleTap1
。
如果将上面代码中的第一个capture-bind改为capture-catch,将只触发handleTap2。
屏幕快照 2019-08-21 上午9.49.25.png
总结:1.事件到达节点的顺序和冒泡阶段恰好相反;2.事件先经过冒泡阶段之后才会走事件到达节点,如果在冒泡阶段中断捕获阶段和取消冒泡事件(使用capture-catch)那么事件将不会冒泡 也不会到达事件节点。后续事件经不会执行
网友评论