gaus
gaus
  • 发布:2016-04-04 09:59
  • 更新:2017-12-08 19:11
  • 阅读:2053

slide事件在mui.fire之后失效(已手工slider()也不行)

分类:MUI

子页面为slider,父页面fire事件,子页面更新。
1、第1次完全正常,slider可以左右滚动,数据也正常。
2、back退回之后,再次点击,仍可进入,但slider无法左右滚动。

==> 解决办法:
1、每次解析数据之后,都有手工mui('#slider').slider()。这条肯定没有问题,否则第1次不会正常显示。
2、整个slider动态区域也是全部生成。
3、再次点击之后,左右滑动,目前看压根就没有触发slide事件。
而addevent这部分,即使手工再次添加也没用。实际我试了将slide换成tap,再次点击都是可以正常触发的,唯独slide没有任何反应。

2016-04-04 09:59 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

上传一个测试工程

  • gaus (作者)

    工程耦合太多,正在拆。

    之前跟了一下mui.js,第2次slider失效时,滑动时报错:Uncaught TypeError: Cannot read property '0' of undefined at js/mui.js:4531

    这个行号不准,对应:return this.pages[slideNumber][0];

    其前1行slideNumber跟到的值为1。

    2016-04-04 12:23

  • BoredApe

    第二次的时候刷新一下slider.

    setTimeout(function(){

    mui('#slider').slider().refresh()

    },100);

    2016-04-04 14:52

  • gaus (作者)

    回复 BoredApe:刚刚看见回复,非常感谢!

    1、DCloud这个问答系统做得太糟糕了,为啥不用传统的dz呢,这种评论的回复没有提示,另外查找问题也极其不方便!

    2、按照你说的方法试了,时好是坏,最后发现,居然是mui.js版本问题,最新的一版可以,之前的一版不行,唉,整整浪费了几周时间。

    3、目前仍有问题,就是第2次进入slider时,左右滑动正常,但是,滑动到新页面之后,必须先用手tap当前页面(内容区),顶部的nav才会自动滑动,同时当前页面区(内容)才会加载(显示),否则nav仍停留在之前,而页面区(内容)显示为空白。

    2016-04-10 21:54

  • 小权

    回复 gaus: 遇到同样的问题,第一次正常,后面js动态更新slider里的html,再silder().refresh(),可以滑动,但是每次滑动后必须点一下mui-slider-item区域才会触发滑动事件。请问如何解决?

    2019-06-30 14:26

gaus

gaus (作者)

@DCloud_MUI_new:刚刚看见回复,非常感谢!
1、DCloud这个问答系统做得太糟糕了,为啥不用传统的dz呢,这种评论的回复没有提示,另外查找问题也极其不方便!
2、按照你说的方法试了,时好是坏,最后发现,居然是mui.js版本问题,最新的一版可以,之前的一版不行,唉,整整浪费了几周时间。
3、目前仍有问题,就是第2次进入slider时,左右滑动正常,但是,滑动到新页面之后,必须先用手tap当前页面(内容区),顶部的nav才会自动滑动,同时当前页面区(内容)才会加载(显示),否则nav仍停留在之前,而页面区(内容)显示为空白。

5***@qq.com

5***@qq.com - 前端开发

我是遇到其他页面跳过来想直接显示对应的选项的内容,tab倒是切换了,但是内容死活且不过去,求解决方法

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