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中的几个运算符
Jun 29 Javascript
用Jquery.load载入页面实现局部刷新
Jan 22 Javascript
JS 获取浏览器和屏幕宽高等信息代码
Mar 31 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
原生js实现密码输入框值的显示隐藏
Jul 17 Javascript
图片加载完成再执行事件的实例
Nov 16 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
详解vue使用插槽分发内容slot的用法
Mar 28 Javascript
详解Vue之父子组件传值
Apr 01 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
JS实现移动端双指缩放和旋转方法
Dec 13 Javascript
Vue自定义多选组件使用详解
Sep 08 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
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
php常用数组函数实例小结
2016/12/29 PHP
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
Python中functools模块的常用函数解析
2016/06/30 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
python实现rsa加密实例详解
2017/07/19 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Python使用functools实现注解同步方法
2018/02/06 Python
如何理解Python中包的引入
2020/05/29 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
python 代码运行时间获取方式详解
2020/09/18 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
工程安全员岗位职责
2014/03/09 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
2015大学生实训报告
2014/11/05 职场文书
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android