js event bubble and capturing
2015-03-17 09:56
106 查看
Bubble:
pppppp
Capturing
pppppp
Mix
pppppp
To Stop Bubble
pppppp
// var inner,outer,outer1,outer2;
//bubble
inner=document.querySelector('.inner.bubble');
outer=document.querySelector('.outer.bubble');
outer1=document.querySelector('.outer1.bubble');
outer2=document.querySelector('.outer2.bubble');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
});
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
});
outer.addEventListener("click",function(e){
//e.stopPropagation();
console.log('outer clicked');
});
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
});
//capturing
inner=document.querySelector('.inner.capturing');
outer=document.querySelector('.outer.capturing');
outer1=document.querySelector('.outer1.capturing');
outer2=document.querySelector('.outer2.capturing');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
},true);
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
},true);
outer.addEventListener("click",function(e){
//e.stopPropagation();
console.log('outer clicked');
},true);
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
},true);
//mix
inner=document.querySelector('.inner.mix');
outer=document.querySelector('.outer.mix');
outer1=document.querySelector('.outer1.mix');
outer2=document.querySelector('.outer2.mix');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
},true);
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
});
outer.addEventListener("click",function(e){
//e.stopPropagation();
console.log('outer clicked');
});
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
});
//stop
inner=document.querySelector('.inner.stop');
outer=document.querySelector('.outer.stop');
outer1=document.querySelector('.outer1.stop');
outer2=document.querySelector('.outer2.stop');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
});
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
});
outer.addEventListener("click",function(e){
e.stopPropagation();
console.log('outer clicked');
});
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
});
// ]]>
JS Bin
pppppp
Capturing
pppppp
Mix
pppppp
To Stop Bubble
pppppp
// var inner,outer,outer1,outer2;
//bubble
inner=document.querySelector('.inner.bubble');
outer=document.querySelector('.outer.bubble');
outer1=document.querySelector('.outer1.bubble');
outer2=document.querySelector('.outer2.bubble');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
});
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
});
outer.addEventListener("click",function(e){
//e.stopPropagation();
console.log('outer clicked');
});
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
});
//capturing
inner=document.querySelector('.inner.capturing');
outer=document.querySelector('.outer.capturing');
outer1=document.querySelector('.outer1.capturing');
outer2=document.querySelector('.outer2.capturing');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
},true);
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
},true);
outer.addEventListener("click",function(e){
//e.stopPropagation();
console.log('outer clicked');
},true);
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
},true);
//mix
inner=document.querySelector('.inner.mix');
outer=document.querySelector('.outer.mix');
outer1=document.querySelector('.outer1.mix');
outer2=document.querySelector('.outer2.mix');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
},true);
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
});
outer.addEventListener("click",function(e){
//e.stopPropagation();
console.log('outer clicked');
});
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
});
//stop
inner=document.querySelector('.inner.stop');
outer=document.querySelector('.outer.stop');
outer1=document.querySelector('.outer1.stop');
outer2=document.querySelector('.outer2.stop');
outer2.addEventListener("click",function(a,b){
console.log('outer2 clicked');
});
outer1.addEventListener("click",function(a,b){
console.log('outer1 clicked');
});
outer.addEventListener("click",function(e){
e.stopPropagation();
console.log('outer clicked');
});
inner.addEventListener("click",function(e){
console.log('inner clicked');
//e.stopPropagation();
});
// ]]>
JS Bin
相关文章推荐
- javascript event bubbling and capturing (再谈一谈js的事件冒泡和事件补获,看到这篇文章加深了理解)
- js attachEvent and js addEventLintener JS事件
- JS之 EVENT ORDER bubling and capture
- JS:window.event.cancelBubble = true;
- event and inheritance in js
- js attachEvent and js addEventLintener JS事件
- What is event bubbling and capturing
- js attachEvent and js addEventLintener JS事件
- The Node.js Event Loop, Timers, and process.nextTick()
- NW.js and Electron compared
- 正确使用prototype.js的Event.stopObserving方法
- How to create fully custom Role, User, Event, Resource classes for use with the Security and Scheduler modules
- libev and libevent
- js 事件处理函数间的Event物件是否全等
- AngularJS Directive For Mouse Wheel Scroll Event
- js事件之event.preventDefault()与event.stopPropagation()用法区别
- js中的event详解
- MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems
- A Node.js and MongoDB Powered Twitter Clone