Нажатие кнопок мыши
Кнопка или колёсико мыши
Определить, какая кнопка мыши была нажата (левая, правая или колёсико) можно через метод onmousedown
.
document.getElementById('button').onmousedown = function(e) { if (e.which == 1) {} // Нажата левая кнопка мыши if (e.which == 2) {} // Нажато колёсико мыши if (e.which == 3) {} // Нажата правая кнопка мыши }
Для левой и правой кнопки мыши есть свои методы.
// код выполняется после нажатия левой кнопки мыши 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» }
Клавиша «Cmd» присутсвует на компьютерах Mac.
Авторизуйтесь, чтобы добавлять комментарии