search

Home  >  Q&A  >  body text

javascript - 【更新问题】vue-router中 v-link 默认绑定了 click 事件,如何消除移动端300ms 延迟问题?

更新
没有使用 fastclick 的时候,所有的 a 标签点击都会300延迟,使用 fastclick 之后 v-link 的标签没有延迟了,但是普通的 a 标签 click 事件仍然存在,我也不知道这是虾米情况。。。http://jiangjiu.leanapp.cn/ 可以微信访问这个连接,文章里的 a 标签很明显。

微信内置浏览器和 uc 浏览器都出现这个问题,反而 safari 没事儿。

按说 fastclick 会给body 设置 touchcancel 这些,为什么会有的有延迟有的没有延迟?

----------------原来的问题--------
在一个单页应用中使用了 vue-router,跳转的指令 v-link默认绑定的是 click事件,这在移动浏览器中会出现300ms 延迟问题,请问大大们应该如何解决呢

之前试着写了写根据 navigator.userAgent是否是 pc 端还是移动端来切换 click 事件/touchstart-touchend事件,结果发现v-link 只绑定 click事件,无法根据实际设备切换

目前看到的 fastclick 比较靠谱,除了这个还有别的方法么?

谢谢!

迷茫迷茫2773 days ago590

reply all(7)I'll reply

  • PHP中文网

    PHP中文网2017-04-11 13:29:59

    暂时使用了 fastclick,并没有找到其他方法~

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 13:29:59

    直接<meta name="viewport" content="width=device-width, user-scalable=no">, 禁用缩放即可, 现在的移动端页面, 缩放已经没多大的意义

    reply
    0
  • PHPz

    PHPz2017-04-11 13:29:59

    Vue-touch

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 13:29:59

    延时的问题是写在vue的源代码里面去找一下就好了,其实是IOS路由的跳转延时了300ms。

    reply
    0
  • 阿神

    阿神2017-04-11 13:29:59

    a, button
    {

    -ms-touch-action: manipulation;    /* IE10  */
    touch-action: manipulation;        /* IE11+ */

    }

    http://caniuse.com/#feat=css-touch-action

    reply
    0
  • 高洛峰

    高洛峰2017-04-11 13:29:59

    我这在ios和pc端都可以正常使用,到了android微信上点击就没有任何效果

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:29:59

    我也碰到了这个问题,我的测试结果是苹果端没问题,安卓端谷歌浏览器没问题,UC有延迟

    reply
    0
  • Cancelreply