-2

この下の行: 3 番目のパラメーターは false のままです。この属性は何ですか??

var el = document.getElementById("outside");
el.addEventListener("click", modifyText, false);
4

3 に答える 3

2

イベントが DOM ツリーを上または下にバブルするかどうかを制御します。

three以下の例の をクリックします (ここにリンクされています)。その後、 に変更falsetrueて繰り返します。

useCaptureが に設定されている場合false、ツリーがバブルアップして が得られます。x3, x2, x1に設定されている場合、trueバブルダウンして が得られx1, x2, x3ます。

見る:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <div id="x1">One
    <div id="x2">Two
      <div id="x3">Three
      </div>
    </div>
  </div>
  <script>
    function me() { alert(this.id); };
    var divs = document.getElementsByTagName('div');
    for (var i = 0; i < divs.length; i++) {
      divs[i].addEventListener('click', me, false);
    }
  </script>
</body>
</html>
于 2013-07-24T10:13:35.393 に答える
2

それがuseCaptureパラメーターです。ドキュメントから

useCapture オプション

true の場合、useCapture は、ユーザーがキャプチャを開始したいことを示します。キャプチャを開始した後、指定されたタイプのすべてのイベントは、登録されたリスナーにディスパッチされてから、DOM ツリー内のその下にある EventTarget にディスパッチされます。ツリーを上方にバブルするイベントは、キャプチャを使用するように指定されたリスナーをトリガーしません。詳細な説明については、DOM レベル 3 イベントを参照してください。指定しない場合、useCapture はデフォルトで false になります。

このトピックの詳細については、こちらをご覧ください。

于 2013-07-24T10:01:47.263 に答える
0

このドキュメントによると、「キャプチャ」を使用するかどうかは

true の場合、useCapture は、ユーザーがキャプチャを開始したいことを示します。キャプチャを開始した後、指定されたタイプのすべてのイベントは、登録されたリスナーにディスパッチされてから、DOM ツリー内のその下にある EventTarget にディスパッチされます。ツリーを上方にバブルするイベントは、キャプチャを使用するように指定されたリスナーをトリガーしません。詳細な説明については、DOM レベル 3 イベントを参照してください。指定しない場合、useCapture はデフォルトで false になります。注: useCapture は、主要なブラウザーの最近のバージョンでのみオプションになりました。たとえば、Firefox 6 より前ではオプションではありませんでした。互換性を最大限に高めるために、このパラメーターを指定する必要があります。

于 2013-07-24T10:01:47.127 に答える