HTML5 Canvas: Jak obsłużyć kliknięcie myszą na myszy

Bawiłem się płótnem html5 i miałem problem.

<code>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
}
</code>

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?

questionAnswers(3)

yourAnswerToTheQuestion