l***@qq.com
l***@qq.com
  • 发布:2017-11-17 15:32
  • 更新:2021-03-31 12:26
  • 阅读:3342

微信开发者工具里mui的区域滚动无法使用

分类:MUI

用微信开发者工具做公众号,在使用下拉刷新、轮播图等区域滚动时,无法拖动!
微信工具是支持touch事件的。

2017-11-17 15:32 负责人:无 分享
已邀请:
liyoungs

liyoungs - 糖糖好甜

解决没有

  • Ling317

    解决办法就是修改自己框架mui.js的代码;

    查找类似的代码,就是定义touchstart和mousedown的地方,因为微信开发者工具中window对象是没有ontouchstart等touch事件的。


    2021-03-31 12:50

DCloud_heavensoft

DCloud_heavensoft

什么意思,看不懂

  • liyoungs

    轮播图,不能用鼠标滑动,区域滚动mui('.mui-scroll-wrapper').scroll(),不起作用,


    2018-07-28 09:16

  • liyoungs

    mui('.mui-slider').slider({ interval:0});不能手动轮播


    2018-07-28 09:18

  • DCloud_heavensoft

    回复 liyoungs:我还是看不懂。是不是你使用mui开发微信公众号页面,然后在微信开发者工具的模拟器里预览时,因为微信开发者工具不支持touch而无法拖动?但在微信真机是正常的?


    2018-07-28 09:23

  • liyoungs

    收是的


    2018-07-28 09:55

  • liyoungs

    怎样才能正常测试


    2018-07-28 10:25

  • liyoungs

    亲测微信开发者工具支持touch事件,touchstart,touchmove,touchend,都支持,wechat_devtools_1.02.1807200


    2018-07-28 11:34

  • liyoungs

    回复 DCloud_heavensoft:亲测微信开发者工具支持touch事件,touchstart,touchmove,touchend,都支持,wechat_devtools_1.02.1807200


    2018-07-28 11:36

  • DCloud_heavensoft

    回复 liyoungs: 暂不清楚微信工具做了什么。如果可以在浏览器里调,那就在标准浏览器里调试区域滚动部分吧。


    2018-07-28 20:15

  • Ling317

    回复 DCloud_heavensoft: 因为微信开发者工具中window对象是没有ontouchstart等touch事件的。所以在mui中'ontouchstart' in window相关的判断中加入是否是移动端的判断


    复制代码if ('ontouchstart' in window || /mobile/i.test(window.navigator.userAgent))

    {

    //...

    }


    2021-03-31 12:47

  • Ling317

    回复 DCloud_heavensoft: 希望官方可以加入这个移动端的判断,来解决微信开发者工具中不能使用touch事件的bug


    2021-03-31 12:48

xiaohuihui

xiaohuihui

这个问题解决了吗 大神

  • Ling317

    解决办法就是修改自己框架mui.js的代码;

    查找类似的代码,就是定义touchstart和mousedown的地方,因为微信开发者工具中window对象是没有ontouchstart等touch事件的。


    2021-03-31 12:49

Ling317

Ling317

解决办法就是修改自己框架mui.js的代码;
查找类似的代码,就是定义touchstart和mousedown的地方,因为微信开发者工具中window对象是没有ontouchstart等touch事件的。

if ('ontouchstart' in window) {  
  $.isTouchable = true;  
  $.EVENT_START = 'touchstart';  
  $.EVENT_MOVE = 'touchmove';  
  $.EVENT_END = 'touchend';  
} else {  
  $.isTouchable = false;  
  $.EVENT_START = 'mousedown';  
  $.EVENT_MOVE = 'mousemove';  
  $.EVENT_END = 'mouseup';  
}


在相关的判断中加入是否是移动端的判断

if ('ontouchstart' in window || /mobile/i.test(window.navigator.userAgent))   
{  
//...  
}

该问题目前已经被锁定, 无法添加新回复