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 相关文章推荐
JavaScript Sort 表格排序
Oct 31 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
Aug 15 Javascript
javascript继承之为什么要继承
Nov 10 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
Tab切换组件(选项卡功能)实例代码
Nov 21 Javascript
高性能JavaScript DOM编程(1)
Aug 11 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
Nov 04 Javascript
js实现下一页页码效果
Mar 07 Javascript
详解vue 2.6 中 slot 的新用法
Jul 09 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
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
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
PHP制作万年历
2015/01/07 PHP
php实现微信发红包
2015/12/05 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
js比较和逻辑运算符的介绍
2013/03/10 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
JavaScript中关联原型链属性特性
2016/02/13 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
python实现决策树
2017/12/21 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
django实现日志按日期分割
2020/05/21 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
美国最大点评网站:Yelp
2018/02/14 全球购物
网络安全类面试题
2015/08/01 面试题
实习自我鉴定范文
2013/10/30 职场文书
岗位职责定义及内容
2013/11/08 职场文书
实用的简历自我评价
2014/03/06 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫