事件的冒泡
事件的冒泡
事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点,所有浏览器都支持冒泡除IE5.5外,均一直冒泡到window
绑定冒泡事件
<style>
#c{
background-color: pink;
height: 100px;
width: 100px;
}
#b{
background-color: palegreen;
height: 200px;
width: 200px;
}
#a{
background-color: paleturquoise;
height: 300px;
width: 300px;
}
</style>
</head>
<body>
<div id="a">
<div id="b">
<div id="c">
</div>
</div>
</div>
</body>
//加载事件
window.onload=function(){
//为c绑定事件
document.getElementById("c").onclick=function(){
alert("c的事件")
}
document.getElementById("b").onclick=function(){
alert("b的事件")
}
document.getElementById("a").onclick=function(){
alert("a的事件")
}
}
以上方式就是事件冒泡现象,触发了子元素的事件,那么父元素的同类型事件也逐级被触发,可以阻止事件的冒泡
阻止事件的冒泡
event.stopPropagation();
//加载事件
window.onload=function(){
//为c绑定事件
document.getElementById("c").onclick=function(){
alert("c的事件")
}
document.getElementById("b").onclick=function(){
alert("b的事件")
//使用内置对象阻止事件冒泡
event.stopPropagation();
}
document.getElementById("a").onclick=function(){
alert("a的事件")
}
}
监听事件绑定
//加载事件
window.onload=function(){
//为c绑定事件
document.getElementById("c").addEventListener("click",function(){
alert("c的事件")
})
document.getElementById("b").addEventListener("click",function(){
alert("b的事件")
})
document.getElementById("a").addEventListener("click",function(){
alert("a的事件")
})
}
关键字的使用
function fun(){
//如果在函数中声明变量加上了var关键字表示一个局部变量
//如果不加上var关键字则表示全局变量
for (i=0;i<10;i++) {
console.log("i的值是:"+i);
}
}
//调用函数
fun();
alert("最终i="+i);
如果在函数中使用var声明变量则是一个局部变量
不使用var声明则是全局变量