12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <style>
- #div1{
- width: 300px;
- height: 300px;
- background: antiquewhite;
- }
- #div2{
- width: 200px;
- height: 200px;
- background: red;
- }
- #div3{
- width: 100px;
- height: 100px;
- background: green;
- }
- </style>
- </head>
- <body>
- <div id="div1">
- <div id="div2">
- <div id="div3"></div>
- </div>
- </div>
- <script>
- var div1 = document.getElementById('div1')
- var div2 = document.getElementById('div2')
- var div3 = document.getElementById('div3')
- // div1.onclick = function(){
- // console.log('div1')
- // }
- // div2.onclick = function(e){
- // console.log('div2')
- // // e.preventDefault()
- // //阻止事件冒泡
- // e.stopPropagation()
- // }
- // div3.onclick = function(){
- // console.log('div3')
- // //阻止事件冒泡
- // event.cancelBubble = true
- // }
- //事件冒泡 从里到外执行
- /*
- 参数1 事件名称 字符串 必填
- 参数2 执行函数 必填
- 参数3 布尔值
- */
- div1.addEventListener('click',function(){
- console.log('div1')
- },false)
- div2.addEventListener('click',function(){
- console.log('div2')
- },false)
- div3.addEventListener('click',function(){
- console.log('div3')
- },false)
- div1.addEventListener('click',function(){
- console.log('div1')
- },true)
- div2.addEventListener('click',function(){
- console.log('div2')
- },true)
- div3.addEventListener('click',function(){
- console.log('div3')
- },true)
- /*
- 从里到外 事件冒泡 fasle
- 从外到里 事件捕获 true
- 先捕获 后冒泡 先从外到里 然后从里到外
- */
- </script>
- </body>
- </html>
|