javasript事件委托笔记

刚刚看了个javasript事件委托的实例,于是乎我也动手做了个例子。


<!DOCTYPE html>
<html>
	<head>
		<title>js事件委托</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<script type="text/javascript">
			/*事件委托:
			 将原本是鼠标经过li的事件,委托给ul,其实就是通过冒泡的原来来进行传递的。
			 通过ul来进行处理,事件委托的好处1、提高性能 2、新增加元素也具有事件
			 * */
			window.onload = function() {
				var oUl = document.getElementById("ul1");
				var aLi = document.getElementsByTagName("li");
	            var oInput = document.getElementById("btn");
	            var liNum = aLi.length;
	            
				oUl.onmouseover = function(ev) {
					//事件兼容处理
					var ev = ev || window.event;
					//事件源
					var target = ev.target || ev.srcElement;
					if(target.nodeName.toLowerCase() == 'li') {
						target.style.background = 'red';
					}
				}

				oUl.onmouseout = function(ev) {
					//事件兼容处理
					var ev = ev || window.event;
					//事件源
					var target = ev.target || ev.srcElement;
					if(target.nodeName.toLowerCase() == 'li') {
						target.style.background = '';
					}

				}
				
				oInput.onclick = function(){
					liNum++;
					
					var oLi = document.createElement("li");
					oLi.innerHTML = 111 * liNum;
					oUl.appendChild(oLi);

					
				}
				
			}
		</script>
	</head>
	<body>
		<input type="button" id="btn" value="点击添加li" />
		<ul id="ul1">
			<li>111</li>
			<li> 222 </li>
			<li> 333 </li>
			<li> 444 </li>
		</ul>
	</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值