javascript - touchstart不让触发window.open吗?

查看:191
本文介绍了javascript - 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 下两个版本就会被舍弃,不知道意思对吗,或者我该如何变通的处理?

解决方案

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

这篇关于javascript - touchstart不让触发window.open吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆