zoukankan      html  css  js  c++  java
  • 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 //键盘按下触发的事件  eevent事件对象
    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>
  • 相关阅读:
    sqlserver2008r2 连接服务器报错64
    java web---HTTP略讲
    Web测试中定位bug方法
    Java1.8API大类
    如何查看windows电脑信息(win10)
    debain系统安装open-vm-tools
    windowns电脑环境配置
    配置了环境变量,adb还是不能用
    已经配了环境变量,但是执行命令却打开了应用商店
    cpython,jpython,ironpython,micropython,etc的区别
  • 原文地址:https://www.cnblogs.com/ch2020/p/13021956.html
Copyright © 2011-2022 走看看