Нажатие кнопок мыши

Кнопка или колёсико мыши

Определить, какая кнопка мыши была нажата (левая, правая или колёсико) можно через метод onmousedown.

document.getElementById('button').onmousedown = function(e) {

    if (e.which == 1) {} // Нажата левая кнопка мыши
    if (e.which == 2) {} // Нажато колёсико мыши
    if (e.which == 3) {} // Нажата правая кнопка мыши

}

Пример на JSFiddle

Для левой и правой кнопки мыши есть свои методы.

// код выполняется после нажатия левой кнопки мыши
document.getElementById('button').onclick = function() {}

// код выполняется после нажатия правой кнопки мыши
document.getElementById('button').oncontextmenu = function() {}

Выполнять код при нажатии по ссылке

Если надо выполнять код при нажатии по ссылке, то сначала надо отменить действие по умолчанию (переход на другую страницу). Делается это через метод preventDefault().

// выполнять код при нажатии на элемент с ИД #link
document.getElementById('link').onclick = function(e) {

    // отменяется событие по умолчанию
    e.preventDefault();

    alert('кнопка нажата');
}

Двойное нажатие левой кнопки мыши

Выполнять код при двойном нажатии на левую кнопку мыши можно через событие ondblclick.

// выполнять код при нажатии на элемент с ИД #button
document.getElementById('button').ondblclick = function() {
    alert('кнопка нажата');
}

Нажатие кнопки мыши с зажатой клавишей

При нажатии по кнопке мыши, можно также проверять какая клавиша при этом была зажата (Ctrl, Shift, Alt или Cmd).

document.getElementById('mouse-click').onmousedown = function(e) {

    if (e.altKey) {}   // Была зажата клавиша «Alt»
    if (e.shiftKey) {} // Была зажата клавиша «Shift»
    if (e.ctrlKey) {}  // Была зажата клавиша «Ctrl»
    if (e.metaKey) {}  // Была зажата клавиша «Cmd»

}

Пример на JSFiddle

Клавиша «Cmd» присутсвует на компьютерах Mac.