收藏
回答

catchtouchstart会导致子元素bindtap失效

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 6.7.3 2.4.0

- 当前 Bug 的表现(可附上截图)


父元素添加catchtouchstart后,子元素的bindtap失效。


- 预期表现

父元素添加catchtouchstart后,子元素的bindtap应该正常触发。


- 问题

是bug还是我哪里理解不对?

最后一次编辑于  2018-11-22  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • ==
    ==
    2018-11-22

    你父元素包裹了子元素,catchtouchstart点击事件响应的肯定是父元素啊!!!!如果你用bindtap他就是父元素和子元素都响应。。你可以父子两个都用catchtouchstart

    2018-11-22
    赞同 1
    回复 7
    • Leo Wong
      Leo Wong
      2018-11-22

      问题是:子元素的bindtap失效。

      2018-11-22
      回复
    • ==
      ==
      2018-11-22回复Leo Wong

      子元素也用catchtouchstart

      2018-11-22
      回复
    • Leo Wong
      Leo Wong
      2018-11-22回复==

      这样会导致两个问题:

      1、滑动会触发,本来是想捕获点击的。

      2、父元素catchtouchstart失效。

      2018-11-22
      回复
    • ==
      ==
      2018-11-22回复Leo Wong

      你现在要实现怎样的触发事件

      2018-11-22
      回复
    • ==
      ==
      2018-11-22回复Leo Wong

      父子都用catchtouchstart那它就会在你点击子元素和父元素的时候都分别各自响应。,。

      如果父元素加catchtouchstart子元素是bindtap那子元素事件不会响应,

      如果父元素是bindtap那两个会一起响应

      2018-11-22
      回复
    查看更多(2)
  • Leo Wong
    Leo Wong
    2018-12-01

    没有官方的回复?

    2018-12-01
    赞同
    回复
  • 張張張張張臻
    張張張張張臻
    2018-11-22

    如果你是想要让父元素移动的时候,阻止页面同时滚动,并且想要子元素的点击事件正常工作的话。这样设置:

    【父元素】bind:touchstart、catch:touchmove、bind:touchend

    【子元素】bindtap、catchtap均可

    2018-11-22
    赞同
    回复 1
    • Leo Wong
      Leo Wong
      2018-11-22

      好的,你这个方案也行,感谢。遇上了这个问题上来问一下是bug还是设计如此,觉得有点坑。

      2018-11-22
      回复
  • 这都申请了
    这都申请了
    2018-11-22

    bindtap不会阻止冒泡,所以你懂得

    2018-11-22
    赞同
    回复 5
    • Leo Wong
      Leo Wong
      2018-11-22

      我想问一下你怎么理解这句话:父元素添加catchtouchstart后,子元素的bindtap失效。

      2018-11-22
      回复
    • Leo Wong
      Leo Wong
      2018-11-22回复==

      1、请注意capture-catch和catch的区别。

      2、请注意tap和touchstart的区别。

      2018-11-22
      回复
    • ==
      ==
      2018-11-22回复Leo Wong

      。。。


      2018-11-22
      回复
    • Leo Wong
      Leo Wong
      2018-11-22回复==

      咋了?

      2018-11-22
      回复
    • 这都申请了
      这都申请了
      2018-11-22回复Leo Wong

      目前看来,可能是设计如此,也可能是设计缺陷

      2018-11-22
      回复