加载中...

event.target


概述

返回值: Element

描述: 触发事件的DOM元素。

target 属性可以是注册事件时的元素,或者它的子元素。通常用于比较 event.targetthis 来确定事件是不是由于冒泡而触发的。经常用于事件冒泡时处理事件委托。

示例

实例

实例 显示点击元素的标签名。

代码:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style> span, strong, p { padding: 8px; display: block; border: 1px solid #999; } </style>
  5. <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  6. </head>
  7. <body>
  8. <div id="log"></div>
  9. <div>
  10. <p>
  11. <strong><span>click</span></strong>
  12. </p>
  13. </div>
  14. <script>$("body").click(function(event) {
  15. $("#log").html("clicked: " + event.target.nodeName); });
  16. </script>
  17. </body>
  18. </html>

运行一下

实例

举例: 实现一个简单的事件委托:给无序列表增加一个点击事件处理函数,然后它的子元素li的子元素都隐藏起来。当点击这个ul其中一个子元素li的时候,来回切换显示(参见 toggle())li的子元素。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  5. </head>
  6. <body>
  7. <ul>
  8. <li>item 1
  9. <ul>
  10. <li>sub item 1-a</li>
  11. <li>sub item 1-b</li>
  12. </ul>
  13. </li>
  14. <li>item 2
  15. <ul>
  16. <li>sub item 2-a</li>
  17. <li>sub item 2-b</li>
  18. </ul>
  19. </li>
  20. </ul>
  21. <script>function handler(event) {
  22. var $target = $(event.target);
  23. if( $target.is("li") ) {
  24. $target.children().toggle();
  25. }
  26. }
  27. $("ul").click(handler).find("ul").hide();
  28. </script>
  29. </body>
  30. </html>

运行一下


还没有评论.