多种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 定义
Jun 10 Javascript
jQuery入门第一课 jQuery选择符
Mar 14 Javascript
javascript实例分享---具有立体效果的图片特效
Jun 08 Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 Javascript
学习JavaScript设计模式之享元模式
Jan 18 Javascript
简单掌握JavaScript中const声明常量与变量的用法
May 21 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
angularjs实现时间轴效果的示例代码
Nov 29 Javascript
JS数组求和的常用方法实例小结
Jan 07 Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 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文件下载类
2006/12/06 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
js代码实现微博导航栏
2015/07/30 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
JavaScript字符串对象
2017/01/14 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
python中加背景音乐如何操作
2020/07/19 Python
python中取绝对值简单方法总结
2020/07/24 Python
Python过滤序列元素的方法
2020/07/31 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
施工资料员岗位职责
2014/01/06 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
二审答辩状格式
2015/05/22 职场文书
婚宴父亲致辞
2015/07/27 职场文书
导游词之潮音寺
2019/09/26 职场文书