jQuery on()方法使用技巧详解


Posted in Javascript onApril 16, 2015

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");

  });

});
Javascript 相关文章推荐
js获取TreeView控件选中节点的Text和Value值的方法
Nov 24 Javascript
jquery 倒计时效果实现秒杀思路
Sep 11 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
Jan 18 Javascript
3种js实现string的substring方法
Nov 09 Javascript
轻松实现javascript图片轮播特效
Jan 13 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
Jul 27 Javascript
利用JS制作万年历的方法
Aug 16 Javascript
webpack将js打包后的map文件详解
Feb 22 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 Javascript
前端 javascript 实现文件下载的示例
Nov 24 Javascript
JavaScript简单表格编辑功能实现方法
Apr 16 #Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 #Javascript
JavaScript实现彩虹文字效果的方法
Apr 16 #Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 #Javascript
JQuery跳出each循环的方法
Apr 16 #Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 #Javascript
jQuery Ajax中的事件详细介绍
Apr 16 #Javascript
You might like
PHP安装问题
2006/10/09 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
微信支付开发发货通知实例
2016/07/12 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
Python安装第三方库的3种方法
2015/06/21 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
会计专业毕业生自我评价
2013/09/25 职场文书
大学生就业自我鉴定
2013/10/26 职场文书
写自荐信要注意什么
2013/12/26 职场文书
考试退步检讨书
2014/01/15 职场文书
保护环境的建议书
2014/03/12 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
环境整治工作方案
2014/05/18 职场文书
安全口号大全
2014/06/21 职场文书
2015入党自传书范文
2015/06/26 职场文书
汽车销售员工作总结
2015/08/12 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python