识别长按
最近微信新增了一个功能:长按识别验证码。
原理是这样的:检测长按事件---触发-->截取图片中的验证码
关于长按,我们可以这么处理:
1,点击开始时(onMouseDown||onTouchStart)触发时一个timer,并设定时间
2,点击结束时(onMouseUp || onTouchEnd) 清除这个定时任务,若开始于结束中间的时间不满足timer的时间,那么实际上就不会触发事件,从而达到了长按的效果
如代码
1 var canvas = document.getElementById('myCanvas'); 2 var timer = null; 3 4 canvas.onmousedown = function(){ 5 timer = setTimeout( doStuff, 2000 ); 6 }; 7 8 canvas.onmouseup = function(){ 9 clearTimeout( timer ); 10 }; 11 12 function doStuff() { 13 alert('hello, you just pressed the mousebutton for two seconds.') 14 }
接着利用ZXing或是ZBar,判断图片中是否包含二维码