Canvas画笔2.0

这个BUG的来由实在是太有趣,虽然BUG本身并没有太高的技术含量,但我还是把它记录下来以提示我在需求方面的更多考虑

产生原因:

我当时在写一个Canvas的画画工具,要做一个客户端检测。

检测当前的客户端是手机还是电脑由此来决定是用mouse事件来画还是touch来画,所以我做了一个经典的特性检测

if(document.body.ontouchstart !== undefined){
      // 触摸
}else{
      // 鼠标      
}

但是我实现功能后,去用工具的时候却发现,我没有办法用鼠标控制了,我找了很久的问题后面发现我的设备是触摸屏的。

所以会产生一个问题 我的mouse和touch事件同时存在而if会首先判断触摸,所以我的鼠标根本就没有执行的可能

于是我的解决办法是多加了一个判断语句,然后在判断语句中实现触摸和鼠标两个功能

if((document.hasOwnProperty("ontouchstart")) && (document.hasOwnProperty("onmousedown"))){
    //触摸和鼠标同时存在
}else if(document.body.ontouchstart !== undefined){
    //触摸  
}else{
   // 鼠标  
}

结果啼笑皆非,别人的评价是,我的设备比较变态。所以--------------------------怪我咯

posted on 2019-02-14 18:44  城外三石  阅读(103)  评论(0)    收藏  举报

导航