美文网首页
touch事件检测问题

touch事件检测问题

作者: 招展君 | 来源:发表于2017-01-09 16:58 被阅读16次

在Bird修前人的bug时候发现了这一个bug的根源:


Paste_Image.png

先提问,hasTouch会返回什么东西呢?

.
.
.
.
.
. .
.
.
我在调试的时候发现无论什么时候, hasTouch返回的都是true.


接下来分析两个问题:

  1. 为什么永远返回的都是true
  2. 如何检测是否有touch事件

为什么返回的永远是true

我打印window之后发现:


Paste_Image.png

接下来写个代码片段

var a = {
  aaa:undefined,
  bbb: null
}
// a.aaa
//a.bbb
//['aaa'] in a
//['bbb'] in b

代码运行图:


Paste_Image.png

所以我们发现一个道理

[key] in obj 只能检测这个对象里是否有这个key的值, 而无法判断该值是否有效

那么如何检测是否有touch事件呢

其他办法没试过,一直用的是正则来判断


题外话:

这个项目以前是个高工写的. 如此低级的错误我想不应该会犯的, 同时,我在网上搜如何判断是否有touch事件的时候 给的方案也都类似于源码中的那种. 比如:


Paste_Image.png

所以 以上bug 肯定是有原因的, 但是是什么原因, 哪位大神能解释下, 我很想知道----------------

相关文章

  • touch事件检测问题

    在Bird修前人的bug时候发现了这一个bug的根源: 先提问,hasTouch会返回什么东西呢? ...... ...

  • 19-进阶:Canvas 画板续(兼容触屏设备)

    本节知识点 JS知识点 touch事件触屏设备上,mouse事件已不适用,需转换为touch事件;检测是否为触屏设...

  • 事件

    事件包括有三类:Touch Motion Remote 本篇主要介绍touch事件 Touch事件 事件产生->事...

  • Android_Touch点击事件

    1.什么是Touch事件: 用户点按屏幕,Touch事件产生;用户的手指离开屏幕,Touch事件结束。Touch事...

  • iOS 事件机制

    事件 iOS 将事件分为三类: Touch Motion Remote像耳机线控…… Touch 事件 Touch...

  • day02-移动web开发-适配方案2(理论)

    触摸事件touch: 解释touch: touch是移动端的触摸事件 而且是一组事件 touchstart 当...

  • Android事件分发

    事件分发的对象是点击事件(touch事件) 当用户触摸手机屏幕的时候就会产生点击事件(Touch事件),touch...

  • iOS事件,原来如此

    精简地说:iOS事件分为传递和响应两个部分。 事件传递(建立传递链): iOS系统检测到手指触摸(Touch)操作...

  • UI要点

    事件分发机制及响应者链 事件分发机制 iOS 检测到手指触摸 (Touch) 操作时会将其打包成一个 UIEven...

  • 【iOS开发】Event - Touch Event

    事件的分类Touch事件Motion事件Remote事件Presses事件 一、Touch 事件过程 1、寻找hi...

网友评论

      本文标题:touch事件检测问题

      本文链接:https://www.haomeiwen.com/subject/zodhbttx.html