多种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 相关文章推荐
jQuery EasyUI API 中文文档 - DataGrid数据表格
Nov 17 Javascript
js钢琴按钮波浪式图片排列效果代码分享
Aug 26 Javascript
jQuery实现的超简单点赞效果实例分析
Dec 31 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 Javascript
Vue.js中组件中的slot实例详解
Jul 17 Javascript
原生JS+Canvas实现五子棋游戏
May 28 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
vue elementui form表单验证的实现
Nov 11 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
Apr 22 Javascript
关于Javascript闭包与应用的详解
Apr 22 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
解析dedecms空间迁移步骤详解
2013/05/15 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
JSON取值前判断
2014/12/23 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python 实现简单的电话本功能
2015/08/09 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
python 实现有道翻译功能
2021/02/26 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
实习自我评价怎么写
2013/12/02 职场文书
企划主管岗位职责
2013/12/12 职场文书
文艺演出策划方案
2014/06/07 职场文书
党员创先争优心得体会
2014/09/11 职场文书
2015年党小组工作总结
2015/05/26 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
采购员工作总结范文
2015/08/12 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python