zoukankan      html  css  js  c++  java
  • jQuery on()方法

    jQuery on()方法是官方推荐的绑定事件的一个方法。

    $(selector).on(event,childSelector,data,function,map)

    由此扩展开来的几个以前常见的方法有.

    bind()
    
      $("p").bind("click",function(){
        alert("The paragraph was clicked.");
      });
    
      $("p").on("click",function(){
        alert("The paragraph was clicked.");
      });
    
    delegate()
    
      $("#div1").on("click","p",function(){
        $(this).css("background-color","pink");
      });
      $("#div2").delegate("p","click",function(){     $(this).css("background-color","pink");   }); live()   $("#div1").on("click",function(){     $(this).css("background-color","pink");   });
      $("#div2").live("click",function(){     $(this).css("background-color","pink");   });

    以上三种方法在jQuery1.8之后都不推荐使用,官方在1.9时已经取消使用live()方法了,所以建议都使用on()方法。

    tip:如果你需要移除on()所绑定的方法,可以使用off()方法处理。

    $(document).ready(function(){
      $("p").on("click",function(){
        $(this).css("background-color","pink");
      });
      $("button").click(function(){
        $("p").off("click");
      });
    });

    tip:如果你的事件只需要一次的操作,可以使用one()这个方法

    $(document).ready(function(){
      $("p").one("click",function(){
        $(this).animate({fontSize:"+=6px"});
      });
    });

    trigger()绑定

    $(selector).trigger(event,eventObj,param1,param2,...)
    $(document).ready(function(){
      $("input").select(function(){
        $("input").after(" Text marked!");
      });
      $("button").click(function(){
        $("input").trigger("select");
      });
    });

    多个事件绑定同一个函数

    $(document).ready(function(){
      $("p").on("mouseover mouseout",function(){
        $("p").toggleClass("intro");
      });
    });

    多个事件绑定不同函数

    $(document).ready(function(){
      $("p").on({
        mouseover:function(){$("body").css("background-color","lightgray");},  
        mouseout:function(){$("body").css("background-color","lightblue");}, 
        click:function(){$("body").css("background-color","yellow");}  
      });
    });

    绑定自定义事件

    $(document).ready(function(){
      $("p").on("myOwnEvent", function(event, showName){
        $(this).text(showName + "! What a beautiful name!").show();
      });
      $("button").click(function(){
        $("p").trigger("myOwnEvent",["Anja"]);
      });
    });

    传递数据到函数

    function handlerName(event) 
    {
      alert(event.data.msg);
    }
    
    $(document).ready(function(){
      $("p").on("click", {msg: "You just clicked me!"}, handlerName)
    });

    适用于未创建的元素

    $(document).ready(function(){
      $("div").on("click","p",function(){
        $(this).slideToggle();
      });
      $("button").click(function(){
        $("<p>This is a new paragraph.</p>").insertAfter("button");
      });
    });

    参考w3cshool.com

  • 相关阅读:
    CentOS虚拟机和物理机共享文件夹实现
    集训第六周 数学概念与方法 概率 数论 最大公约数 G题
    集训第六周 数学概念与方法 概率 F题
    集训第六周 E题
    集训第六周 古典概型 期望 D题 Discovering Gold 期望
    集训第六周 古典概型 期望 C题
    集训第六周 数学概念与方法 UVA 11181 条件概率
    集训第六周 数学概念与方法 UVA 11722 几何概型
    DAG模型(矩形嵌套)
    集训第五周 动态规划 K题 背包
  • 原文地址:https://www.cnblogs.com/leejersey/p/3545372.html
Copyright © 2011-2022 走看看