我們的志工尚未將本文翻譯為 正體中文 (繁體) 版本。加入我們,幫忙翻譯!
您也可以閱讀本文的 English (US) 版本。

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

Call this method during the handling of a mousedown event to retarget all mouse events to this element until the mouse button is released or document.releaseCapture() is called.

Warning: This interface never had much cross-browser support and you probably looking for element.setPointerCapture instead, from the Pointer Events API.

Syntax

element.setCapture(retargetToElement);
retargetToElement
If true, all events are targeted directly to this element; if false, events can also fire at descendants of this element.

Example

In this example, the current mouse coordinates are drawn while you mouse around after clicking and holding down on an element.

<html>
<head>
  <title>Mouse Capture Example</title>
  <style type="text/css">
    #myButton {
      border: solid black 1px;
      color: black;
      padding: 2px;
      box-shadow: black 2px 2px;
    }
  </style>
  
  <script type="text/javascript">
    function init() {
      var btn = document.getElementById("myButton");
      if (btn.setCapture) {
        btn.addEventListener("mousedown", mouseDown, false);
        btn.addEventListener("mouseup", mouseUp, false);
      } else {
        document.getElementById("output").innerHTML
          = "Sorry, there appears to be no setCapture support on this browser";
      }
    }
    
    function mouseDown(e) {
      e.target.setCapture();
      e.target.addEventListener("mousemove", mouseMoved, false);
    }
    
    function mouseUp(e) {
      e.target.removeEventListener("mousemove", mouseMoved, false);
    }
    
    function mouseMoved(e) {
      var output = document.getElementById("output");
      output.innerHTML = "Position: " + e.clientX + ", " + e.clientY;
    }
  </script>
</head>
<body onload="init()">
  <p>This is an example of how to use mouse capture on elements in Gecko 2.0.</p>
  <p><a id="myButton" href="#">Test Me</a></p>
  <div id="output">No events yet</div>
</body>
</html>

View Live Examples

Notes

The element may not be scrolled completely to the top or bottom, depending on the layout of other elements.

Specification

Based on Internet Explorer's implementation.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
setCapture
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox Full support YesIE Full support 5
Notes
Full support 5
Notes
Notes The retargetToElement parameter to Element.setCapture() was introduced in Internet Explorer 5.5.
Opera No support NoSafari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

See also

文件標籤與貢獻者

最近更新: mdnwebdocs-bot,