Mouse button detection

Made for an answer on stackoverflow.com.

by David Joseph Guzsik

HTML

<div onmousedown="WhichButton(event);">Press a mouse button over this text!</div>
<script>
function WhichButton (event) {// all browsers except IE before version 9
    if ('which' in event) {
        switch (event.which) {
            case 1:
                alert ("Left button is pressed");
                break;
            case 2:
                alert ("Middle button is pressed");
                break;
            case 3:
                alert ("Right button is pressed");
                break;
        }
    }
    else { // Internet Explorer before version 9        
        if ('button' in event) {
            var buttons = "";
            if (event.button & 1) {
                buttons += "left";
            }
            if (event.button & 2) {
                if (buttons == "") {
                    buttons += "right";
                }
                else {
                    buttons += " + right";
                }
            }
            if (event.button & 4) {
                if (buttons == "") {
                    buttons += "middle";
                }
                else {
                    buttons += " + middle";
                }
            }
            alert ("The following buttons are pressed: " + buttons);
        }
    }
}
</script>