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.extend 函数详解
Feb 03 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
Apr 01 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 Javascript
vue实现配置全局访问路径头(axios)
Nov 01 Javascript
谈谈JavaScript中的函数
Sep 08 Javascript
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
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
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
python中lambda()的用法
2017/11/16 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
python pygame实现方向键控制小球
2019/05/17 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
Python类及获取对象属性方法解析
2020/06/15 Python
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
摄影助理岗位职责
2014/02/07 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书