Обработчик или источник события mousedown
Устанавливает обработчик нажатия кнопки мыши на элементе, либо, запускает это событие. Метод имеет три варианта использования:
Устанавливает функцию handler в качестве обработчика события mousedown, на выбранные элементы.
Метод является аналогом bind("mousedown", handler(eventObject)).
handler(eventObject) — функция, которая будет установлена в качестве обработчика. При вызове она будет получать объект события eventObject.
Метод отличается от предыдущего возможностью передавать в обработчик дополнительные данные.
Является аналогом bind("mousedown", eventData, handler(eventObject)).
handler(eventObject) — см. выше.
eventData — дополнительные данные, передаваемые в обработчик. Они должны быть представлены объектом в формате: {fName1:value1, fName2:value2, ...}.
Вызывает событие mousemove, у выбранных элементов страницы. Метод является аналогом trigger("mousedown").
Убрать установленный обработчик можно с помощью метода unbind().
Все три варианта использования метода, являются аналогами других методов (см. выше), поэтому все подробности использования mousedown(), можно найти в описании этих методов.
Событие mousedown происходит когда нажата любая из стандартных клавиш мыши. Чтобы узнать какая именно клавиша была нажата, в обработчике события можно посмотреть значение переменной eventObject.which, которое будет содержать число с номером нажатой клавиши (1-левая, 2-средняя (скролл, причем именно нажат, а не прокручен), 3-правая кнопка мыши).
Для того чтобы узнать координаты в которых произошло нажатие мыши, можно воспользоваться переменными eventObject.pageX, eventObject.pageY которые хранят координаты курсора относительно начала страницы.
Пример
// установим обработчик события mousedown, элементу с идентификатором foo $('#foo').mousedown(function(eventObject){ alert('Вы нажали на кнопку мыши, над элементом "foo". Код нажатой клавиши - ' + eventObject.which); }); // вызовем событие mousedown на элементе foo $('#foo').mousedown(); // установим еще один обработчик события mousedown, на этот раз элементам // с классом block. В обработчик передадим дополнительные данные $('.block').mousedown({a:12, b:"abc"}, function(eventObject){ var externalData = "a=" + eventObject.data.a + ", b=" + eventObject.data.b; alert('Нажата кнопка мыши. '+ 'В обработчик этого события переданы данные: ' + externalData ); });