<ul id="parent-list">
<li id="post-1">item1</li>
<li id="post-2">item2</li>
<li id="post-3">item3</li>
<li id="post-4">item4</li>
<li id="post-5">item5</li>
<li id="post-6">item6</li>
</ul>
<script>
var nav = document.getElementById("parent-list");
var li = nav.getElementsByTagName("li");
//方法一
/*var len = li.length;
for(var i=0;i<len;i++){
li[i].index = i;
li[i].onclick = function(e){
alert(this.index+" & "+this.innerHTML+" & " +e.target.id+ " & " +e.target.tagName);
}
}*/
//方法二
/*nav.onclick = function(){
var e = arguments[0] || window.event,
target = e.srcElement ? e.srcElement : e.target;
alert(target.innerHTML);
}*/
//获取指定属性名的属性值
/*var len = li.length;
for(var i=0;i<len;i++){
//alert(li[i].getAttribute("id"));
li[i].onclick = function(){
alert(this.getAttribute("id"));
}
}*/
// 获取父节点,并为它添加一个click事件
document.getElementById("parent-list").addEventListener("click",function(e){
// 检查事件源e.targe是否为Li
if(e.target && e.target.nodeName =="LI"){
console.log("List item",e.target.id,"was clicked!");
}
},false)
</script>

<ul id="myLinks">
<li id="goSomewhere">go somewhere</li>
<li id="doSomething">do something</li>
<li id="sayHi">say hi</li>
</ul>
<script>
//方法一,传统做法
/*var item1 = document.getElementById("goSomewhere");
var item2 = document.getElementById("doSomething");
var item3 = document.getElementById("sayHi");
EventUtil.addHandler(item1,"click",function(e){
location.href = "http://www.baidu.com";
});
EventUtil.addHandler(item2,"click",function(e){
document.title = "I changed the title";
});
EventUtil.addHandler(item3,"click",function(e){
alert("say hi");
});*/
//方法二,事件委托
var nav = document.getElementById("myLinks");
nav.onclick = function(e){
e = e || window.event;
var target = e.target || e.srcElement;
//获取每个LI元素的内容
//http://www.2cto.com/kf/201304/204581.html
//http://www.cnblogs.com/rubylouvre/archive/2009/08/09/1542174.html
/*if(target.tagName == "LI"){
alert(target.innerHTML);
}*/
//事件委托
switch(target.id){
case "goSomewhere":
location.href = "http://www.baidu.com";
break;
case "doSomething":
document.title = "I changed the title";
break;
case "sayHi":
alert("say hi");
break;
}
}
</script>

<div id="evt">绑定多个事件</div>
<script>
var item = document.getElementById("evt");
item.addEventListener("click",function(){
alert("first");
},false);
item.addEventListener("click",function(){
alert("second");
},false);
</script>

最新文章

  1. Git 学习看这篇就够了!
  2. Matrix4x4矩阵变换、欧拉角转四元数、角度转弧度
  3. centos jenkins
  4. Selenium2学习-021-WebUI自动化实战实例-019-设置浏览器窗口位置大小
  5. 给ubuntu系统换新装
  6. 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)
  7. redis key和value数据类型
  8. Android 获取系统或SDCARD剩余空间信息(转)
  9. Linked List Cycle (java)
  10. hitTest:withEvent:方法流程
  11. Xamarin Forms中WebView的自适应高度
  12. 《深度探索C++对象模型》读书笔记(一)
  13. [蓝桥杯]ALGO-16.算法训练_进制转换
  14. ios模拟器已安装但xcode无法显示
  15. virtualbox centos 网络配置
  16. 浅谈OCR之Tesseract
  17. 通过导入虚拟电脑的方式还原centos
  18. An Introduction to Greta
  19. Java集合类中的Iterator和ListIterator的区别
  20. 一起做RGB-D SLAM (5)

热门文章

  1. ZOJ 3331 Process the Tasks 双塔Dp
  2. phpMyAdmin 手动输入数据库服务器IP
  3. PHP脚本实现凯撒加(解)密
  4. 采用xml的方式保存数据
  5. php - 小型微博系统
  6. 【转】[Mysql] Linux Mysql 日志专题
  7. 高级UIKit-09(TCPSocket发送文件、上传和下载)
  8. 演练5-6:Contoso大学校园管理系统6
  9. hdu 1282回文数猜想
  10. PHP函数详细剖析之rtrim函数 By ACReaper