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 相关文章推荐
jquery下将选择的checkbox的id组成字符串的方法
Nov 28 Javascript
jQuery给多个不同元素添加class样式的方法
Mar 26 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
javascript对象的相关操作小结
May 16 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
Apr 04 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
微信小程序登录session的使用
Mar 17 Javascript
Vue + Elementui实现多标签页共存的方法
Jun 12 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
layui form表单提交后实现自动刷新
Oct 25 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
JavaScript实现随机点名小程序
Oct 29 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
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP自动生成后台导航网址的最佳方法
2013/08/27 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的进程分支fork和exec详解
2015/04/11 Python
python根据京东商品url获取产品价格
2015/08/09 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
美发店5.1活动方案
2014/01/24 职场文书
开学典礼主持词
2014/03/19 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
干部培训工作总结2015
2015/05/25 职场文书
感谢信
2019/04/11 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技