JavaScript---事件监听
JavaScript的事件监听是通过addEventListener()来实现的
它算是事件绑定的第二种方式。
他的特别之处在于这种绑定事件的方法不会被同名事件覆盖。
看具体的demo
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>事件监听</title> 6 <script> 7 window.onload = function(){ 8 /* 9 事件绑定的第二中方式: 10 事件监听addEventListener() 11 */ 12 var btn =document.getElementById('btn'); 13 var btn2 =document.getElementById('btn2'); 14 15 // 这种事件绑定方法同名事件会被覆盖 16 btn.onclick = function(){ 17 console.log('click'); 18 } 19 20 btn.onclick = function(){ 21 console.log('第二次click'); 22 } 23 24 btn.addEventListener('click',function(){ 25 console.log('第三次click'); 26 },false); 27 28 btn.onclick = function(){ 29 console.log('第四次click'); 30 } 31 32 // 清除事件 33 btn.onclick = null; 34 35 // 事件监听 36 // addEventListener() 37 btn2.addEventListener('click',function(){ 38 console.log('第1次点击') 39 },false); 40 btn2.addEventListener('click',function(){ 41 console.log('第2次点击') 42 },false); 43 44 45 // 推荐的事件监听方式 46 // 用具名函数 47 function handler(){ 48 console.log('第3次点击') 49 } 50 btn2.addEventListener('click',handler,false); 51 52 53 // 清除事件监听 54 // 参数一定要跟绑定时一样 55 btn2.removeEventListener('click',handler); 56 57 58 // ie8-的事件监听方式 59 // attachEvent('onclick',) 60 // 没有第三个参数 61 // btn2.attachEvent('onclick',handler); 62 // 63 // IE8-清除事件监听 64 // btn2.detachEvent('onclick',handler); 65 } 66 </script> 67 </head> 68 <body> 69 <button id="btn">按钮</button> 70 <button id="btn2">按钮2</button> 71 </body> 72 </html>
要注意IE-8下的监听方式是attachEvent