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

 手机用户2602880641 发布于 2022-11-17 03:33

前辈们,小弟最近在写一个项目是移动端的导航,点击导航内容之后打开新窗口跳转,我的思路是使用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 下两个版本就会被舍弃,不知道意思对吗,或者我该如何变通的处理?

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

    2022-11-17 03:35 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有