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点击弹出下拉菜单效果实例
Aug 12 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
JavaScript prototype属性详解
Oct 25 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 Javascript
vue实现的组件兄弟间通信功能示例
Dec 04 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
javascript将扁平的数据转为树形结构的高效率算法
Feb 27 Javascript
js将URL网址转为16进制加密与解密函数
Mar 04 Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 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文件上传原理简单分析
2011/05/29 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
javascript 日期常用的方法
2009/11/11 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
js数组的操作指南
2014/12/28 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
js获取url传值的方法
2015/12/18 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
Python过滤列表用法实例分析
2016/04/29 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python组合无重复三位数的实例
2018/11/13 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
药品质量检测应届生求职信
2013/11/14 职场文书
优良学风班申请材料
2014/02/13 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
公司文体活动总结
2015/05/07 职场文书
小兵张嘎电影观后感
2015/06/03 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书