# .mousedown()

Categories: Events > Mouse Events

## .mousedown( handler(eventObject) ) Returns: jQuery

Description: Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element.

- #### version added: 1.0.mousedown( handler(eventObject) )

  handler(eventObject)A function to execute each time the event is triggered.

- #### version added: 1.4.3.mousedown( [eventData], handler(eventObject) )

  eventDataA map of data that will be passed to the event handler.

  handler(eventObject)A function to execute each time the event is triggered.

- #### version added: 1.0.mousedown()

This method is a shortcut for `.bind('mousedown', handler)` in the first variation, and `.trigger('mousedown')` in the second.

The `mousedown` event is sent to an element when the mouse pointer is over the element, and the mouse button is pressed. Any HTML element can receive this event.

For example, consider the HTML:

    <div id="target">
      Click here
    </div>
    <div id="other">
      Trigger the handler
    </div>

The event handler can be bound to any `<div>`:

    $('#target').mousedown(function() {
      alert('Handler for .mousedown() called.');
    });

Now if we click on this element, the alert is displayed:

Handler for .mousedown() called.

We can also trigger the event when a different element is clicked:

    $('#other').click(function() {
      $('#target').mousedown();
    });

After this code executes, clicks on Trigger the handler will also alert the message.

The `mousedown` event is sent when any mouse button is clicked. To act only on specific buttons, we can use the event object's `which` property. Not all browsers support this property (Internet Explorer uses button instead), but jQuery normalizes the property so that it is safe to use in any browser. The value of `which` will be 1 for the left button, 2 for the middle button, or 3 for the right button.

This event is primarily useful for ensuring that the primary button was used to begin a drag operation; if ignored, strange results can occur when the user attempts to use a context menu. While the middle and right buttons can be detected with these properties, this is not reliable. In Opera and Safari, for example, right mouse button clicks are not detectable by default.

If the user clicks on an element, drags away from it, and releases the button, this is still counted as a `mousedown` event. This sequence of actions is treated as a "canceling" of the button press in most user interfaces, so it is usually better to use the `click` event unless we know that the `mousedown` event is preferable for a particular situation.

### Example:

#### Show texts when mouseup and mousedown event triggering.

    <!DOCTYPE html>
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
    </head>
    <body>
      <p>Press mouse and release here.</p>

    <script>
        $("p").mouseup(function(){
          $(this).append('<span style="color:#F00;">Mouse up.</span>');
        }).mousedown(function(){
          $(this).append('<span style="color:#00F;">Mouse down.</span>');
        });

    </script>

    </body>
    </html>

#### Demo: