.mousedown()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.mousedown()

分类:事件 > 鼠标事件

返回: jQuery

.mousedown( handler )

描述:把某个事件函数绑定到JavaScript事件“mousedown”上,或者在某个元素上触发该事件。

加入于: 1.0
.mousedown( handler )
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。
加入于: 1.4.3
.mousedown( [eventData ], handler )
  • eventData
    类型:Anything
    一个对象,它包含了要传递给事件处理函数的数据。
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。
加入于: 1.0
.mousedown()

该签名不接受任何参数。

该方法,在第一种变体中,是.on( "mousedown", handler)的简写,在第二种变体中,是.trigger( "mousedown" )的简写。

当鼠标指针在一个元素上面,而且鼠标按钮按下时,mousedown事件会发送到这个元素。任何HTML元素都可以接收这个事件。

举个例子,设想下面的HTML:

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

该事件处理函数可以绑定到任何<div>上:

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

现在,如果我们在这个元素上点击,会显示提醒:

Handler for .mousedown() called.

当别的元素被点击时,我们也能触发该事件:

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

在执行代码之后,点击“Trigger the handler”也会跳出这条提醒消息。

在点击任何鼠标按钮时,就会发送mousedown事件。要想只对特定的按钮操作,我们可以使用事件对象的which属性。并非所有的浏览器都支持这个属性(Internet Explorer使用button代替它),但是jQuery规范化了这个属性,所以它可以安全的用在任何浏览器上。which的值将是对左按键报告1,对中按键即滚轮报告2,对右按键报告3。

此事件主要作用是用来确保主要按钮用来开始一个拖动操作;如果忽略了它,当用户试图使用上下文菜单时,可能会发生奇怪的结果。虽然中间和右键可以通过这些属性来侦测,但是它不可靠。比如说,在Opera浏览器和Safari浏览器中,右键按钮的点击,默认不可侦测。

如果用户在一个元素上点击,从它那里拖开,然后释放按钮,它依然会被计数为一次mousedown事件。在大多数用户界面中,这一系列操作会被视为一个按下按钮的“取消”,因此使用click事件会更好,除非我们知道mousedown对某些情况更适合。

其它说明

  • 因为.mousedown()方法是.on( "mousedown", handler )的简写,所以可以用.off( "mousedown" )来分离。

示例

在触发mouseup事件和mousedown事件时,显示文本。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>mousedown demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.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>

演示结果

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/mousedown.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。