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 中的事件教程
Apr 05 Javascript
input输入框的自动匹配(原生代码)
Mar 19 Javascript
jQuery 无刷新分页实例代码
Nov 12 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
Jun 16 Javascript
概述javascript在Google IE中的调试技巧
Nov 24 Javascript
详解如何用模块化的方式写vuejs
Dec 16 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
使用Vuex解决Vue中的身份验证问题
Sep 28 Javascript
Vue面试题及Vue知识点整理
Oct 07 Javascript
vue v-for 使用问题整理小结
Aug 04 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
Feb 15 Javascript
vue3.0 项目搭建和使用流程
Mar 04 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
php session 预定义数组
2009/03/16 PHP
那些年一起学习的PHP(三)
2012/03/22 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
Python生成随机MAC地址
2015/03/10 Python
Python中的变量和作用域详解
2016/07/13 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Python中qutip用法示例详解
2020/10/02 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
庆八一活动方案
2014/01/25 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
退货证明模板
2015/06/23 职场文书
MongoDB使用场景总结
2022/02/24 MongoDB