js事件委托,可以使新添加的元素具有事件(event运用)

简介: miaov视频教程  http://study.163.com/course/courseMain.htm?courseId=231002 DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.

miaov视频教程  http://study.163.com/course/courseMain.htm?courseId=231002

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<ul id="ul1">
  <li>1111</li>
  <li>2222</li>
  <li>3333</li>
  <li>4444</li>
  <li>5555</li>
</ul>
<input type="button" id="add" value="添加"/>
<script>
window.onload=function(){
var oUl=document.getElementById('ul1');  //ul
var oLi=oUl.getElementsByTagName('li');  //li
var iNow=4;
for(i=0;i<oLi.length;i++){
       this.onclick=function(ev){       //这里不用this,不能发生冒泡
       ev=ev || window.event;            //event兼容
       target=ev.srcElement || ev.target;  //event.target兼容
       if(target.nodeName.toLowerCase() == "li"){    //判断nodeName
           target.style.backgroundColor='red';   //背景红色
       }
   }
}
var oAdd=document.getElementById('add'); //点击添加按钮
  oAdd.onclick=function(){
    iNow++;
    var aLi=document.createElement('li');   //创建li节点
    aLi.innerHTML=iNow*1111;
    oUl.appendChild(aLi);                  //添加li节点
  }
}
</script>
</body>
</html>

 

相关文章
|
19天前
|
JavaScript 前端开发
js事件队列
js事件队列
|
8天前
|
JavaScript 前端开发
JavaScript 事件
JavaScript 事件
20 2
|
7天前
|
JavaScript 前端开发
js怎么定位不同的页面元素
在JavaScript中,有多种方法定位和选择页面元素。
|
12天前
|
前端开发 JavaScript
前端ES5 | js —添加元素方法
前端ES5 | js —添加元素方法
|
8天前
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
这篇文章介绍了在Nest.js构建应用时,如何通过事件/发布-订阅模式使应用程序更健壮、灵活、易于扩展,并简化服务间通信。文章主要围绕@nestjs/event-emitter模块展开,这是一个基于eventemitter2库的社区模块,提供了事件发布/订阅功能,使得实现事件驱动架构变得简单。文章还介绍了如何使用该模块,包括安装依赖、初始化模块、注册EventEmitterModule、使用装饰器简化监听等。最后总结,集成@nestjs/event-emitter模块可以提升应用程序的事件驱动能力,构建出更为松耦合、易扩展且高度灵活的系统架构,是构建现代、响应迅速且具有高度解耦特性的Nest.
|
11天前
|
JavaScript 前端开发
理解js事件委托
【9月更文挑战第5天】理解js事件委托
31 4
|
22天前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
39 1
|
25天前
|
JavaScript
分别用jquery和js修改页面元素
分别用jquery和js修改页面元素
27 2
|
3天前
|
JavaScript 前端开发
|
9天前
|
存储 JavaScript 前端开发
js事件冒泡和事件委托
事件冒泡是指事件从最内层元素开始逐级向上传播至祖先元素的过程,默认情况下,点击子元素时会先触发自身的事件处理程序,再依次向上触发父元素的处理程序。事件委托则是在父元素上设置事件处理程序,利用事件冒泡机制处理子元素的事件,以此减少内存消耗和提高性能,特别适用于处理大量动态子元素的情况。其区别在于事件冒泡是事件传播机制的一部分,而事件委托是编程技巧,通过在父元素上绑定事件处理程序来简化子元素的事件处理。
13 0