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 相关文章推荐
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
跟我学习javascript的最新标准ES6
Nov 20 Javascript
全面解析Bootstrap布局组件应用
Feb 22 Javascript
总结AngularJS开发者最常犯的十个错误
Aug 31 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
AngularJS中的拦截器实例详解
Apr 07 Javascript
一个因@click.stop引发的bug的解决
Jan 08 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 Javascript
在vue中配置不同的代理同时访问不同的后台操作
Sep 11 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图片合成方法(多张图片合成一张)
2017/11/25 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
2015/03/13 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
require.js中的define函数详解
2017/07/10 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
Python变量和数据类型详解
2017/02/15 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
Python元组常见操作示例
2019/02/19 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
基于python调用psutil模块过程解析
2019/12/20 Python
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
校园门卫岗位职责
2013/12/09 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
读书活动实施方案
2014/03/10 职场文书
职业生涯规划书范文
2014/03/10 职场文书
银行求职自荐信
2014/06/30 职场文书
就业协议书
2014/09/12 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技