• jQuery 中的事件绑定与取消绑定


      1:在jQuery中使用bind方法进行事件的绑定,bind方法有两个参数,第一个参数是事件的类型例如click,change,keyup,keydown,blur,focus等。第二个参数是一个回调函数(callback function),当事件被触发时会执行这个回调函数。

      如果想清除绑定的事件可以使用unbind方法,此方法接收一个事件类型作为参数,$(element).unbind()。

      以下是一些通过bind与unbing的方法:

      

    案例:对每个li元素绑定click事件,当点击li标签时,将其背景色变为红色。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        ul{ background-color:#dcdcdc; list-style:none; width:300px; padding:0px;}
        li{ cursor:pointer;margin:10px 0px 0px 0px;}
        </style>
        <script type="text/javascript" src="../js/jquery.js"></script>
        <script type="text/javascript">
        $(function(){
            $('li').bind('click',function(){
            $(this).css('background-color','red');    
            });    
        }); 
        </script>
    </head>
    <body>
       <ul>
           <li>China</li>
           <li>India</li>
           <li>USA</li>
       </ul> 
    </body>
    </html>

    效果图:

    2:如何对通过js动态生成的html元素绑定事件?可以使用live(event type,callback function);如果想清除绑定的事件可以使用die方法:$(element).die(event type);

    案例:点击按钮生成新的html元素节点,然后对其注册点击事件。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        div{ border: 1px solid black; cursor: pointer; width: 200px; margin: 10px;}
        </style>
        <script type="text/javascript" src="../js/jquery.js"></script>
        <script type="text/javascript">
        $(function(){
            $('#btn').click(function(){
            $('body').append('<div class="future">I am a new div</div>');    
            });    
            $('div').live('click',function(){
            $(this).css({'color':'red','font-weight':'bold'}).html('You clicked me!');    
            });
        }); 
        </script>
    </head>
    <body>
        <input type="button" id="btn" value="Create A New Element"/>
        <div class="future">Already on page</div>
    </body>
    </html>

    效果图:

  • 相关阅读:
    Proteus仿真与实际的差别
    用 Proteus学习51单片机之1602液晶
    用Proteus学习51单片机之中断
    用Proteus学习51单片机之键盘
    用Proteus学习51单片机之数码管
    PHPnow 安装服务 [ Apache_pn ] 失败的解决方法 for[windows7/vista]
    chrome 不能打印背景图的解决方法
    JS 无块级作用域
    IE6下zindex犯癫不起作用bug的初步研究
    ie6下的js调试工具companion.js
  • 原文地址:https://www.cnblogs.com/yshyee/p/3388051.html
Copyright © 2020-2023  润新知