HTML5 Canvas: Jak obsłużyć kliknięcie myszą na myszy
Bawiłem się płótnem html5 i miałem problem.
canvas.onmousedown = function(e){
dragOffset.x = e.x - mainLayer.trans.x;
dragOffset.y = e.y - mainLayer.trans.y;
canvas.onmousemove = mouseMove;
}
canvas.onmouseup = function(e){
canvas.onmousemove = null;
}
canvas.onmouseclick = mouseClick;
function mouseMove(e){
mainLayer.trans.x = e.x - dragOffset.x;
mainLayer.trans.y = e.y - dragOffset.y;
return false;
}
function mouseClick(e){
// click action
}
W tym kodzie klikam myszką + przeciągam przesuwanie widoku kanwy, tłumacząc przesunięcie przeciągnięcia. Ale mam też zdarzenie kliknięcia. W tej chwili, gdy przeciągam myszą i puszczam, uruchamia się zarówno onmouseup, jak i onclick.
Czy są jakieś techniki, które sprawiają, że są wyjątkowe?