请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

click

请问老师这个列表是怎么做到在滚动动画未停止的时候让click事件生效的

正在回答 回答被采纳积分+3

2回答

ustbhuangyi 2019-05-13 09:45:10

https://img1.sycdn.imooc.com//szimg/5cd8cbe20001aa5819181142.jpg
BS 源码内部会监听滚动,滚动时给它内部的滚动元素的 style 添加 pointEvents 为 none,这下明白了吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕圣7354149 #1
    啊可能是我没问明白,就是您的那个源码示例,在您的那个源码中cube-scroll-nav组件内的div绑定click事件,当列表滚动未完全停止的状态下点击click就会及时响应,比如说弹出餐品详细信息组件,可是我新添加了一个组件中插入cube-scroll-nav组件,组件内插入div并绑定click事件在列表滚动的时候必须完全停止后再次点击才能响应click事件,完全不能像你那个餐品列表一样在行进中响应click事件!
    回复 有任何疑惑可以回复我~ 2019-05-13 11:16:46
  • ustbhuangyi 回复 提问者 慕圣7354149 #2
    看了一下,是因为 cube-scroll-nav 组件内部也依赖了 scroll 组件,但由于它的 DOM 嵌套层级很深,没有满足我源码贴的那种条件,所以即使在滚动的过程中也无法阻止 click,不过我觉得这其实并不是一个好的体验。滚动过程中就应该阻止 click 的,这个交互和原生的 iOS 交互体验才相同。
    回复 有任何疑惑可以回复我~ 2019-05-13 12:46:11
  • 提问者 慕圣7354149 回复 ustbhuangyi #3
    哦,那可能是,但是这种操作很方便,比如选择餐品规格的时候
    回复 有任何疑惑可以回复我~ 2019-05-13 13:59:48
ustbhuangyi 2019-05-12 22:09:59

这个是 better-scroll 内部的实现机制。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕圣7354149 #1
    我也是服了,课也听不懂,这答案我也看不懂,是我笨? 这钱儿花滴
    回复 有任何疑惑可以回复我~ 2019-05-12 22:21:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信