您当前的位置:首页 > 微信小程序开发笔记 >

冒泡事件与非冒泡事件

0

什么是冒泡事件?

冒泡事件指某个组件上的事件被触发后,事件还会向父级元素传递;父级元素还会继续向父级的父级传递,一直到页面的顶级元素。而非冒泡事件则不会向父级元素传递事件。常见的冒泡事件类型还有下面几种:

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

相对于PC上的Web浏览器,小程序的事件并不多。需要注意的是,在wxml组件里注册事件时,不可以直接使用tap="function"或touchmove="function",需要在事件名之前添加 catch 或者 bind 前缀。

bind 和 catch有什么区别?

区别在于,对于以上几个冒泡事件,catch 将阻止事件继续向父节点传播,而 bind 不会阻止事件的传播。基本上所有的组件都有以上这些冒泡事件。除以上6种事件外,如无特殊申明都是非冒泡事件,非冒泡事件大多不是通用事件,而是某些组件特有的事件。如<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件等。

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部