Prototype-event-findelement

提供:Dev Guides
移動先:案内検索

プロトタイプ-イベントfindElement()メソッド

このメソッドは、指定されたタグ名を持つ最初のDOM要素を、イベントが発生したものよりも上に返します。

イベントによってヒットされた実際の要素に興味がない場合もあります。 その「最も近い要素」に興味がある場合があります。 これがfindElementの目的です。

指定されたタグ名は、大文字と小文字を区別しない方法で比較されます。

構文

Event.findElement(event, tagName);

戻り値

指定されたタグ名を持つ最初のDOM要素を返します。 一致する要素が見つからない場合、ドキュメント自体(HTMLDocumentノード)が返されます。

以下は、ページ上のあらゆる場所をクリックして、クリックに最も近い段落(存在する場合)を非表示にする簡単なコードです。

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>

      <script>
        //Register event 'click' and associated call back.
         Event.observe(document, 'click', respondToClick);

        //Callback function to handle the event.
         function respondToClick(event) {
            var element = Event.findElement(event, 'P');
            alert("Hiding Tag : " + element.tagName );

            if ( element != document ) {
               element.hide();
            }
         }
      </script>
   </head>

   <body>
      <p id = "note"> Click anywhere to see the result.</p>
      <p id = "para1">This is paragraph 1</p>
      <br/>
      <br/>

      <p id = "para2">This is paragraph 2</p>
      <div id = "division">This is divsion.</div>
   </body>
</html>

出力