返回值:jQuerymousedown(handler(eventObject))

为 JavaScript 的 "mousedown" 事件绑定一个处理函数,或者触发元素上的该事件。

带有参数的该方法是 .bind('mousedown', handler) 的快捷方式 variation, and .trigger('mousedown') in the second.

当鼠标在元素上发生了点击动作,就会触发 mousedown 事件。任何 HTML 元素都可以接收该事件。

举例来说,请看下面的HTML:

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

该事件可以绑定在任何 <div> 上:

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

现在,当你在元素上点击了鼠标,就会显示如下的提示框:

Handler for .mousedown() called.

我们也可以通过点击其它元素,手动触发另一个元素上的该事件:

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

在代码执行后,如果你点击 Trigger the handler 将同样会弹出上面的消息。

鼠标上的任何一个键被按下,都会触发 mousedown 事件。若要区分是哪个键被按下了,我们可以使用 event 对象的 which 属性。虽然不是所有的浏览器都支持该属性(在 IE 中,要使用 button 属性来代替),但是 jQuery 对该属性进行了标准化,因此你可以放心的在任何浏览器中使用该属性。which 值是 1 时,表示左键,2 表示 中键,3 表示右键。

此事件主要是为了确保主按钮被用来开始拖拽操作。如果不进行这样的判断,当用户尝试使用上下文菜单时,就可能出现奇怪的结果。虽然可以通过这些属性,来检测鼠标中键和右键的点击,但不一定是可靠的。例如,在 Opera 和 Safari 中,默认情况下是无法检测鼠标右键的点击的。

如果用户在元素上按住了鼠标不放开,并将鼠标指针移开了该元素,然后再松开了鼠标,此操作依然被认为是该元素上的 mousedown 事件。上述一系列操作,对于大多数界面设计而言,被认为是 "取消" 鼠标点击操作。因此,通过使用 click 事件是比较好的做法,除非在特殊情况下,我们真正关注的是 mousedown 事件。

示例:

当触发 mouseup 和 mousedown 事件时,显示一段文本。

<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.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>

演示: