多种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 相关文章推荐
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
基于socket.io和node.js搭建即时通信系统
Jul 30 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
Nov 10 Javascript
使用jQuery仿苹果官网焦点图特效
Dec 23 Javascript
jQuery实现美观的多级动画效果菜单代码
Sep 06 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
JS中call()和apply()的功能及用法实例分析
Jun 28 Javascript
微信小程序自定义头部导航栏(组件化)
Nov 15 Javascript
JS eval代码快速解密实例解析
Apr 23 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
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
JavaScript 函数的定义-调用、注意事项
2017/04/16 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
react结合bootstrap实现评论功能
2020/05/30 Javascript
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
python自动zip压缩目录的方法
2015/06/28 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
对Xpath 获取子标签下所有文本的方法详解
2019/01/02 Python
python实现简单五子棋游戏
2019/06/18 Python
python的range和linspace使用详解
2019/11/27 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python使用Geany编辑器配置方法
2020/02/21 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
家居设计专业个人自荐信范文
2013/11/26 职场文书
大学自主招生推荐信
2014/05/10 职场文书
送达通知书
2015/04/25 职场文书
学术会议开幕词
2016/03/03 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书