Prototype - Event 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>
         // 注册事件"点击"及相关回调。
         Event.observe(document, 'click', respondToClick);
  
         // 处理事件的回调函数。
         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>

输出

prototype_event_handling.html