美文网首页
事件委派

事件委派

作者: duJing | 来源:发表于2017-01-04 15:17 被阅读28次
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件委派</title>
</head>
<body>
<input type="button" id="input1" value="添加LI">
<ul id="ul1">
<li>111</li>
<li>222</li>
<li>333</li>
<li>444</li>
</ul>
<script>
window.onload = function () {

var oInput = document.getElementById('input1');
var oUl = document.getElementById('ul1');
var aLi = oUl.getElementsByTagName('li');

/*
* 引子:
* 给每个LI添加鼠标事件,改变背景颜色
* */

/*for ( var i = 0; i < aLi.length; i++ ) {
// 为每个按钮都添加鼠标移入移除事件
aLi[i].onmouseover = function () {
this.style.background = 'red';
}
aLi[i].onmouseout = function () {
this.style.background = '';
}
}*/

/*
* 思考?
* ①为每个li添加一个事件,影响性能
* ②是否再添加一个li后,将相应的事件却不会添加进去
* */

var text = 4;
oInput.onclick = function () {
text++;
var newInput = document.createElement('li');
newInput.innerHTML = text * 111;
// 将新的li添加到ul的末尾
oUl.appendChild(newInput);
}


/*
* 因此我们需要通过事件委派来完成它
* 事件委派?就是让一个下属分别干的事情交给上司办了
* 好处?
* ①提高性能
* ②为动态添加元素添加事件
* */


// 利用冒泡的原理,将事件绑定到父元素上
oUl.onmouseover = function (e) {
var e = e || window.event;
// 事件源,就是你点击的那个元素是什么
var target = e.srcElement || e.target;
if (target.nodeName.toLowerCase() === 'li') {
target.style.background = 'red';
}
}
oUl.onmouseout = function (e) {
var e = e || window.event;
// 事件源,就是你点击的那个元素是什么
var target = e.srcElement || e.target;
if (target.nodeName.toLowerCase() === 'li') {
target.style.background = '';
}
}
}
</script>
</body>
</html>

相关文章

  • 事件委托

    1.什么是事件委派?如何实现事件委派? 答:事件委派是利用冒泡原理,给父元素绑定事件,让其子元素执行。 实例:u1...

  • 事件委派

  • 事件委派

    事件的委派—— 指定事件统一给匀速的共同祖先元素,这样将后代元素的事件触发时,会一直冒泡到祖先元素从而通过祖先元素...

  • 什么是事件委托以及live on delegate之间的关系

    首先什么是事件委派? 事件委派(委托):事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果。 ...

  • 什么是事件委托以及live on delegate之间的关系

    一、首先什么是事件委派?事件委派(委托):事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果。...

  • jQuery

    jQuery如何获取动态添加的元素 1.使用 on()方法 本质上使用了事件委派,将事件委派在父元素身上 ...

  • 事件的委派

  • jQuery事件绑定,事件注销和自定义事件

    jQuery 事件 1. 事件注册 1.1 普通事件注册.bind() --- 重点 2.1.2 事件委派(事件委...

  • jquery学习之事件委派

    一、定义 事件委派的定义就是,把原来加给子元素身上的事件绑定在父元素身上,就是把事件委派给父元素。 二、版本 从j...

  • React学习之漫谈React

    事件系统 合成事件的绑定方式 Test 合成事件的实现机制:事件委派和自动绑定。 React合成事件系统的委托机制...

网友评论

      本文标题:事件委派

      本文链接:https://www.haomeiwen.com/subject/khgovttx.html