HTML5 Canvas: Wie man Mausklick mit MouseUp behandelt

Ich habe mit HTML5-Canvas rumgespielt und bin auf ein Problem gestoßen.

<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>

In diesem Code lasse ich die Leinwandansicht durch Klicken und Ziehen mit der Maus verschieben, indem ich sie um den Ziehversatz übersetze. Ich habe aber auch ein Klick-Event. Wenn ich jetzt meine Maus ziehe und loslasse, wird sowohl onmouseup als auch onclick ausgeführt.

Gibt es Techniken, die sie einzigartig machen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage