js 事件 事件委托
1 <script src="jquery.js"></script> 2 <script> 3 //方式1 4 // $('#d1').click(function () { 5 // $(this).css({'background-color':'green'}); 6 // }); 7 //方式2 8 $('#d1').on('click',function () { 9 $(this).css({'background-color':'green'}); 10 }) 11 12 </script>
1 click 左键点击事件 2 //获取光标触发的事件 3 $('[type="text"]').focus(function () { 4 $('.c1').css({'background-color':'black'}); 5 }); 6 //失去光标(焦点)触发的事件 7 $('[type="text"]').blur(function () { 8 $('.c1').css({'background-color':'purple'}); 9 }); 10 11 //域内容发生改变时触发的事件 12 $('select').change(function () { 13 $('.c1').toggleClass('cc'); 14 }); 15 16 //鼠标悬浮触发的事件 17 // $('.c1').hover( 18 // //第一步:鼠标放上去 19 // function () { 20 // $(this).css({'background-color':'blue'}); 21 // }, 22 // //第二步,鼠标移走 23 // function () { 24 // $(this).css({'background-color':'yellow'}); 25 // } 26 // ) 27 28 // 鼠标悬浮 等同于hover事件 29 // 鼠标进入 30 // $('.c1').mouseenter(function () { 31 // $(this).css({'background-color':'blue'}); 32 // }); 33 // 鼠标移出 34 // $('.c1').mouseout(function () { 35 // $(this).css({'background-color':'yellow'}); 36 // }); 37 38 // $('.c2').mouseenter(function () { 39 // console.log('得港绿了'); 40 // }); 41 // 鼠标悬浮事件 42 // $('.c2').mouseover(function () { 43 // console.log('得港绿了'); 44 // }); 45 // mouseover 和 mouseenter的区别是:mouseover事件是如果该标签有子标签,那么移动到该标签或者移动到子标签时会连续触发,mmouseenter事件不管有没有子标签都只触发一次,表示鼠标进入这个对象 46 47 48 //键盘按下触发的事件 e\event事件对象 49 $(window).keydown(function (e) { 50 // console.log(e.keyCode); //每个键都有一个keyCode值,通过不同的值来触发不同的事件 51 if (e.keyCode === 37){ 52 $('.c1').css({'background-color':'red'}); 53 }else if(e.keyCode === 39){ 54 $('.c1').css({'background-color':'green'}); 55 } 56 else { 57 $('.c1').css({'background-color':'black'}); 58 } 59 }) 60 // 键盘抬起触发的事件 61 $(window).keyup(function (e) { 62 console.log(e.keyCode); 63 }) 64 65 66 input事件: 67 22期百度:<input type="text" id="search"> 68 <script src="jquery.js"></script> 69 <script> 70 $('#search').on('input',function () { 71 console.log($(this).val()); 72 }) 73 74 </script>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <style> 7 #d1{ 8 background-color: red; 9 height: 200px; 10 } 11 #d2{ 12 background-color: green; 13 height: 100px; 14 width: 100px; 15 } 16 17 </style> 18 19 </head> 20 <body> 21 22 <div id="d1"> 23 <div id="d2"></div> 24 25 </div> 26 27 28 <script src="jquery.js"></script> 29 <script> 30 $('#d1').click(function () { 31 alert('父级标签'); 32 }); 33 $('#d2').click(function () { 34 alert('子级标签'); 35 }); 36 37 38 </script> 39 40 </body> 41 </html>
1 $('#d1').click(function () { 2 alert('父级标签'); 3 }); 4 $('#d2').click(function (e) { 5 alert('子级标签'); 6 return false; 7 // e.stopPropagation(); 8 });
1 事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件,将未来添加进来的某些子标签自动绑定上事件。 2 3 <!DOCTYPE html> 4 <html lang="en"> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Title</title> 8 </head> 9 <body> 10 11 <div id="d1"> 12 <button class="c1">爱的魔力转圈圈</button> 13 14 </div> 15 16 <script src="jquery.js"></script> 17 <script> 18 // $('.c1').on('click',function () { 19 // alert('得港被雪飞调教了,大壮很难受!'); 20 // var btn = document.createElement('button'); 21 // $(btn).text('爱的魔力转圈圈'); 22 // $(btn).addClass('c1'); 23 // console.log(btn); 24 // //添加到div标签里面的后面 25 // $('#d1').append(btn); 26 // 27 // }); 28 29 #将'button' 选择器选中的标签的点击事件委托给了$('#d1'); 30 $('#d1').on('click','button',function () { 31 alert('得港被雪飞调教了,大壮很难受!'); 32 var btn = document.createElement('button'); 33 $(btn).text('爱的魔力转圈圈'); 34 $(btn).addClass('c1'); 35 console.log(btn); 36 console.log($(this)) //还是我们点击的那个button按钮 37 //添加到div标签里面的后面 38 $('#d1').append(btn); 39 40 }); 41 42 43 </script> 44 </body> 45 </html>