你的位置:首页 > Java教程

[Java教程]阻止冒泡行为和闭包


阻止事件冒泡行为,要是不阻止的话,点击div的时候也会同时触发body事件

html代码

<body onclick='load()'>
<div onclick='cli()'>
click this
</div>
</body>

css代码

div{
width:200px;
height:200px;
border:1px red solid;
}

js代码

function load(){
console.log('body')
}
function cli(e){
console.log('div');
if ( e && e.stopPropagation ){
e.stopPropagation();
}
else{
window.event.cancelBubble = true;
return false;
}
}

 

//闭包:内部函数可以访问外部函数的变量

function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c=a();
c();//1 返回的b()但是b()可以访问a函数中的变量i