當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。