多种jQuery绑定事件的实现方式


Posted in Javascript onJune 13, 2016

最近发现jQuery一个对象的事件可以重复绑定多次,当事件触发的时候会引起代码多遍执行。

下面是一个click事件被重复绑定的示例:

function reg_button_click(){
 $("#button).click(function(){
 alert("button click");
 });
}
$(document).ready(function(){
 #重复注册3次
 reg_button_click();
 reg_button_click();
 reg_button_click();
 #触发的时候 出现3个alert
 $('#button').click();
});

下面给出解决方法:

对于需要重复绑定的场景,再事件注册时候考虑用先unbind 再bind的方法;或者先off 再on

function reg_button_click(){
 $("#button).unbind('click').bind('click',(function(){
 alert("button click");
 });
}
$(document).ready(function(){
 #重复注册3次
 reg_button_click();
 reg_button_click();
 reg_button_click();
 #触发的时候 出现3个alert
 $('#button').click();
});

那jQuery绑定事件的实现方式有哪些,下面就为大家分享jQuery绑定事件的方法,供大家参考,具体内容如下

<html>

<head>

<meta charset="utf-8" />

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><!--百度CDN-->

</head>

 

<body>

<input type="text"/>

<input type="button" value="button1"/>

<script>

$(function(){

 var text = $(":text");

 var button = $(":button");

 //调试器记录日志 console.log("message"); 如:火狐浏览器,打开FireBug(按F12)

 

 //触发单个事件:两种方式

 button.bind("mouseover",function(){

 console.log("移入");

 });

 button.bind({

 "mouseout": function(){

  console.log("移出");

 }

 });

 //多个事件:三个方式

 text.bind("dblclick blur",function(){

 console.log("双击或者失去焦点");

 });

 

 text.bind({

 "dblclick blur":function(){

  console.log("双击或者失去焦点");

 }

 });

 text.bind({

 "dblclick":function(){

  console.log("双击");

 },

 blur:function(){

  console.log("失去焦点");

 }

 });

 

 //取消事件

 text.unbind("dblclick"); //取消单个事件

 //text.unbind("dblclick blur"); //取消多个事件

 //text.unbind(); //取消全部事件

});

 

</script>

</body>

</html>

以上就是本文的全部内容,希望对大家学习jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 拖拉缩放效果
Dec 10 Javascript
jQuery AnythingSlider滑动效果插件
Feb 07 Javascript
jQuery数组处理方法汇总
Jun 20 Javascript
jquery获得下拉框值的代码
Aug 13 Javascript
jQuery点击后一组图片左右滑动的实现代码
Aug 16 Javascript
JS过滤url参数特殊字符的实现方法
Dec 24 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
在Vue中获取组件声明时的name属性方法
Sep 12 Javascript
详解Vue前端生产环境发布配置实战篇
May 07 Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 Javascript
JS Ajax请求如何防止重复提交
Jun 13 #Javascript
JavaScript判断微信浏览器实例代码
Jun 13 #Javascript
JavaScript判断是否是微信浏览器
Jun 13 #Javascript
JavaScript_object基础入门(必看篇)
Jun 13 #Javascript
js 连续赋值的简单实现
Jun 13 #Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 #Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 #Javascript
You might like
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
python分割列表(list)的方法示例
2017/05/07 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Python 加密的实例详解
2017/10/09 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
英国行业制服供应商:Alexandra
2019/09/14 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
优秀高中生事迹材料
2014/02/11 职场文书
新年主持词
2014/03/27 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
工作作风建设心得体会
2014/10/22 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
个人更名证明
2015/06/23 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL
使用python绘制分组对比柱状图
2022/04/21 Python