事件详解

事件分类

事件分为冒泡事件和非冒泡事件:

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

WXML的冒泡事件列表:

类型 触发条件
touchstart 手指触摸动作开始
touchmove 手指触摸后移动
touchcancel 手指触摸动作被打断,如来电提醒,弹窗
touchend 手指触摸动作结束
tap 手指触摸后马上离开
longtap 手指触摸后,超过350ms再离开

注:除上表之外的其他组件自定义事件如无特殊申明都是非冒泡事件,如<form/>submit事件,<input/>input事件,<scroll-view/>scroll事件,(详见各个组件)

事件绑定

事件绑定的写法同组件的属性,以 key、value 的形式。

  • key 以bindcatch开头,然后跟上事件的类型,如bindtapcatchtouchstart
  • value 是一个字符串,需要在对应的 Page 中定义同名的函数。不然当触发事件的时候会报错。

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

如在下边这个例子中,点击 inner view 会先后触发handleTap3handleTap2(因为tap事件会冒泡到 middle view,而 middle view 阻止了 tap 事件冒泡,不再向父节点传递),点击 middle view 会触发handleTap2,点击 outter view 会触发handleTap1

<view id="outter" bindtap="handleTap1">
outer view
<view id="middle" catchtap="handleTap2">
middle view
<view id="inner" bindtap="handleTap3">
inner view
</view>
</view>
</view>

最新文章

  1. Oracle学习笔记十三 触发器
  2. Facebook 发布「流程」
  3. TYVJ P1022 进制转换 Label:坑
  4. C语言:几种字符输入函数的区别
  5. 【Linq to Object】使用LINQ实现左链接加GROUP BY查询
  6. JavaScript高级程序设计32.pdf
  7. JENKINS的远程API调用,然后用PYTHON解析出最新的版本及稳定成功的版本
  8. searchbar的使用介绍
  9. Cocos2d-x 精灵碰撞检測(方法二)
  10. ORACLE查看和更改的最大连接数
  11. iframe的各项參数
  12. lucene 总结收集(url)
  13. Maven学习-简介、安装
  14. html集锦
  15. Java设计模式(二)抽象工厂模式
  16. vi和vim编辑器
  17. 任意activity作为启动页
  18. python全栈开发day55-mysql外键的三种变种
  19. 关于Q-LEARNING的优化
  20. 1085. Perfect Sequence (25)-水题

热门文章

  1. Core Data 多表连接及查询
  2. 【VBA编程】07.循环结构语句
  3. nginx 配置一个文件下载服务
  4. 动态创建 Log4net 实例
  5. Python 统计代码的行数,Python脚本 统计代码
  6. 记一次netty版本冲突,报java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive的问题
  7. DDR 复位
  8. 140726暑期培训.txt
  9. 关于linux PPA源问题
  10. href中使用相对路径访问上级目录的方法