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{ // 鼠标 }
结果啼笑皆非,别人的评价是,我的设备比较变态。所以--------------------------怪我咯
浙公网安备 33010602011771号