touchstart不让触发window.open吗?

前辈们,小弟最近在写一个项目是移动端的导航,点击导航内容之后打开新窗口跳转,我的思路是使用touchstart事件触发window.open,因为后台的限制不能使用a标签,但是当我实现的时候,chrome53报如下提示:

main.js:344 Performing operations that require explicit user interaction on touchstart events is deprecated and will be removed in M55, around November 2016. See https://www.chromestatus.com/features/5649871251963904 for more details.

小弟英语不好,我猜意思是,使用touchstart这个用户行为触发window.open这个操作将要被废弃,查了一下chrome的m55,也就是chrome 下两个版本就会被舍弃,不知道意思对吗,或者我该如何变通的处理?

阅读 2k
评论 2016-11-10 提问
    1 个回答

    看字面意思应该就像你理解的那样
    事件的话看你是否使用了一些第三方库,比如fastclick或者zepto
    fastclick是直接用click事件,zepto是用tap事件
    其实他们的实现原理基本上都是在touchstart时候获取位置和时间,touchend的时候判断一下是否是单击了这里,然后触发点击事件,因为比如滑动页面,你的这个导航区域也可能会触发touchstart或者touchend,如果啥也没用的话就touchend把。。。

    评论 赞赏 2016-11-10