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计算德州扑克牌面值的方法
Mar 04 Javascript
javascript字符串替换函数如何一次性全部替换掉
Oct 30 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
Sep 19 Javascript
node.js实现回调的方法示例
Mar 01 Javascript
Vue路由跳转问题记录详解
Jun 15 Javascript
详解vue-cli与webpack结合如何处理静态资源
Sep 19 Javascript
动态统计当前输入内容的字节、字符数的实例详解
Oct 27 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
在vue中使用eslint,配合vscode的操作
Nov 09 Javascript
用React Native制作一个简单的游戏引擎
May 27 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 !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
2011/01/07 PHP
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php动态函数调用方法
2015/05/21 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
javascript Base类 包含基本的方法
2009/07/22 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
Python下的twisted框架入门指引
2015/04/15 Python
python实现linux下使用xcopy的方法
2015/06/28 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python抓取文件夹的所有文件
2018/02/27 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
Python日志处理模块logging用法解析
2020/05/19 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
产品销售员岗位职责
2013/12/18 职场文书
银行简历自我评价
2014/02/11 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
继续教育个人总结
2015/03/03 职场文书
php去除deprecated的实例方法
2021/11/17 PHP