event.target详解+练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
	</head>
	<style>
		span, strong, p {
	  	padding: 8px; display: block; border: 1px solid #999;  }
    </style>
	<body>
		
		<div id="log"></div>
		<div>
		  <p>
		    <strong><span>c</span></strong>
		  </p>
		</div>
		<hr />
		
		<ul>
		  <li>item 1
		    <ul>
		      <li>sub item 1-a</li>
		      <li>sub item 1-b</li>
		    </ul>
		  </li>
		  <li>item 2
		    <ul>
		      <li>sub item 2-a</li>
		      <li>sub item 2-b</li>
		    </ul>
		  </li>
		</ul>
		<script type="text/javascript">
			/**
			 * event.target     返回Element
			 * 描述:触发事件的DOM元素
			 * 
			 * target可以是注册事件时的元素,或者它的子元素。通常用于比较event.target和
			 * this事件是不是由于冒泡而触发的。经常用于事件冒泡时处理委托事件。
			 * 
			 * 
			 * 
			 * */
			
			//例子一
			$("body").click(function(event){
				$("#log").html("target : " + event.target.nodeName);
			});
			
			//例子二
			//实现一个简单的事件委托:给无序列表添加一个点击事件处理函数,
			//然后它的子元素li的子元素都隐藏起来,当点击这个ul其中一个子
			//元素li的时候,来回切换显示(参见 toggle())li的子元素。
			function handler(event){
				var $target = $(event.target);
				if($target.is("li")){
					$target.children().toggle();
				}
			}
//			$("ul").click(handler).find("ul").hide();
			$("ul").click(handler).find("ul").hide();
			
		</script>
	</body>
</html>

例子一结果:

例子二结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值