.setCapture()

マウスボタンを離すか、document.releaseCapture()が呼び出されるまで、 mousedownイベント処理の間、このメソッドが呼び出され、全てのマウスイベントの対象をこの要素へ切り替えます。(翻訳に自信なし)

文法

element.setCapture(retargetToElement);
引数 説明
retargetToElement trueの場合、全てのイベントがこの要素への直接の対象になります。 falseの場合、この要素の子孫でもイベントの発火が可能になります。

訳注: このメソッドは2014年8月現在、Webkit系のブラウザ(Chrome、Safari)ではElementに実装されていないようです。

この例では、要素上でマウスをクリックし、クリックしたままの状態を保持している間、 マウスの座標位置を描画します。

<html>
<head>
  <title>Mouse Capture Example</title>
  <style type="text/css">
    #myButton {
      border: solid black 1px;
      color: black;
      padding: 2px;
      -moz-box-shadow:black 2px 2px;
    }
  </style>
</head>
<body>
  <p>これは、Geck 2.0で要素上でマウスキャプチャを行う例です。</p>
  <p><a id="myButton" href="javascript:buttonClicked()">ドラッグしてみてください。</a></p>
  <div id="output">イベントはまだありません</div>
  <script>
    function init() {
      var btn = document.getElementById("myButton");
      btn.addEventListener("mousedown", mouseDown, false);
      btn.addEventListener("mouseup", mouseUp, false);
    }

    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;
    }

    //init処理実行
    init();
  </script>
</body>
</html>

注意事項

要素は他の要素のレイアウト状況に依って、上端または下端に完全にスクロールされない可能性があります。

仕様

標準的な仕様は定められていません。

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。