zoukankan      html  css  js  c++  java
  • 微信小程序bindtap点击事件与事件冒泡

    原文链接:https://www.cnblogs.com/lhm166/articles/9947383.html

    事件冒泡就是指嵌套事件发生,如果多层标签嵌套, 里层事件发生后, 其外层会相应发生, 如:

    <view bindtap='handout'>
       outer
       <view bindtap='handmiddle'>
         middle
         <view bindtap='handinner'>inner</view>
       </view>
     </view>
    
    handout: function () {
      console.log("out");
    },
     
    handmiddle: function () {
      console.log("middle");
    },
     
    handinner: function () {
      console.log("inner");
    }

    点击inner三个事件都执行, 点击middlek执行handmiddle和handout, 点击out只执行handout
    阻止事件冒泡行为: 将bindtap改为catchtap就行了。

    catchtap只会触发自身的点击事件,会阻断自身的冒泡行为,可以理解为,不管是不是自身触发的点击行为, 传到我这里, 我就将它阻断(不再向上传递)。如:

     <view bindtap='handout'>
        outer
        <view catchtap='handmiddle'>
          middle
          <view bindtap='handinner'>inner</view>
        </view>
      </view>
    

    点击inner, 执行的是handinner和handmiddle两个函数,因为midd的catchtap阻止了事件冒泡行为,所以outer不会执行

  • 相关阅读:
    51Nod 1007 正整数分组(01背包)
    二叉树层次遍历(以先序输入)
    HttpContext.Current.Request.Url
    SqlDataReader和SqlDataAdapter的区别
    DataSet和DataTable详解
    DataTable和DataSet什么区别
    Git 忽略
    hack速查表
    ie6常见css bug
    详说 IE hasLayout
  • 原文地址:https://www.cnblogs.com/xi-li/p/11287869.html
Copyright © 2011-2022 走看看