.mousedown()

.mousedown( handler(eventObject) ) 官网原E文: jQuery

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

  • version added: 1.0.mousedown( handler(eventObject) )

    handler(eventObject)每次事件触发时会执行的函数。

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

    eventData将要传递给事件处理函数的数据映射。

    handler(eventObject)每次事件触发时会执行的函数。

  • version added: 1.0.mousedown()

这个函数的第一种用法是 .bind('mousedown', handler) 的快捷方式,第二种用法是 .trigger('mousedown') 的快捷方式。

当鼠标指针在元素上和按下鼠标键,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事件就会被发送。作用于特定的按钮,我们可以使用事件对象的which属性。并非所有浏览器都支持这个属性(IE浏览器使用按钮代替),但是使用jQuery标准化的属性,它可以安全使用在任何浏览器。点击鼠标左键which的值是1,点击鼠标中键which的值是2,点击鼠标右键which的值是。

此事件主要用于确保主要按钮是用来开始拖动操作;如果忽视,当用户尝试使用上下文菜单,可能会出现奇怪的结果。而中间和右边按钮可检测到这些属性,这是不可靠的。在Opera和Safari中,例如,点击鼠标右键默认情况下不察觉。

如果在用户点击一个元素,并且拖动鼠标离开这个元素,并释放鼠标键,这仍然是算作mousedown事件。在大多数的用户界面,这个动作的顺序被视为一个“取消”的按键,所以通常最好使用click事件,除非我们知道mousedown事件针对一个特定情况较好。

Example:

当MouseUp和MouseDown事件触发时,显示文本时。

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.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>

Demo:

jQuery 1.6 API 中文版Clove整理、修订