当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery .mousedown()用法及代码示例


用法
.mousedown( handler ) => jQuery

说明:将事件处理程序绑定到 "mousedown" JavaScript 事件,或在元素上触发该事件。

  • 添加的版本:1.0.mousedown( handler )

    • handler
      类型:Function(Event eventObject)
      每次触发事件时执行的函数。
  • 添加的版本:1.4.3.mousedown( [eventData ], handler )

    • eventData
      类型:Anything
      包含将传递给事件处理程序的数据的对象。
    • handler
      类型:Function(Event 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 - 呈现的 HTML 的插图

事件处理程序可以绑定到任何 <div>

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

现在,如果我们单击此元素,则会显示警报:

.mousedown() 的处理程序被调用。

我们还可以在单击不同元素时触发事件:

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

这段代码执行后,点击触发处理程序也会提醒消息。

单击任何鼠标按钮时都会发送 mousedown 事件。要仅对特定按钮进行操作,我们可以使用事件对象的which 属性。不是所有的浏览器都支持这个属性(Internet Explorer 使用按钮代替),但是 jQuery 规范了这个属性,以便在任何浏览器中使用它都是安全的。 which 的值将为左键为 1,中键为 2,右键为 3。

此事件主要用于确保使用主按钮开始拖动操作;如果忽略,当用户尝试使用上下文菜单时可能会出现奇怪的结果。虽然可以使用这些属性检测中间按钮和右侧按钮,但这并不可靠。例如,在 Opera 和 Safari 中,默认情况下无法检测到鼠标右键单击。

如果用户点击一个元素,拖离它,然后释放按钮,这仍然算作 mousedown 事件。在大多数用户接口中,这一系列动作被视为按钮按下的"canceling",因此通常最好使用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-3.5.0.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>

演示:

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .mousedown()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。