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脚本编程解决考试分数统计问题
Oct 18 Javascript
JavaScript获取GridView选择的行内容
Apr 14 Javascript
ExtJS Window 最小化的一种方法
Nov 18 Javascript
js网页实时倒计时精确到秒级
Feb 10 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
node.js中的fs.readdir方法使用说明
Dec 17 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
深入剖析javascript中的exec与match方法
May 18 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
JavaScript实现Tab选项卡切换
Feb 13 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
杏林同学录(五)
2006/10/09 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
canvas绘制多边形
2017/02/24 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
Django多数据库的实现过程详解
2019/08/01 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
Python实现GIF图倒放
2020/07/16 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
揠苗助长教学反思
2014/02/04 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
2014企业年终工作总结
2014/12/23 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
慈善献爱心倡议书
2015/04/27 职场文书