sno*_*orm 20 javascript drawing html5-canvas
我正在编写一个HTML5画布绘图应用程序,我需要能够判断在mousemove事件期间是否按下了鼠标左键.在Chrome上,这可行:
if (event.which == 1) { <do stuff> }
Run Code Online (Sandbox Code Playgroud)
但是在FireFox中,无论是否按下按钮,event.which 总是为1.
如何在mousemove事件期间检测鼠标按键是否被按下?
您应该使用变量来保持mousedown的状态.当您mousedown在画布上将其设置为true时,当您mouseup在文档上将其设置为false时..
这样,只要你点击它就会被清除..
像这样的东西
var isMouseDown = false;
var draw = document.getElementById('draw');
document.addEventListener('mouseup',
function(){
isMouseDown = false;
},
false);
draw.addEventListener('mousedown',
function(e){
e.preventDefault(); // cancel element drag..
isMouseDown = true;
},
false);
draw.addEventListener('mousemove',
function(e){
if (isMouseDown){
// do the drawing ..
}
},
false);
Run Code Online (Sandbox Code Playgroud)
演示http://jsfiddle.net/gaby/8JbaX/