多种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编辑器和代码格式化
Apr 25 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
js动态移动滚动条至底部示例代码
Apr 24 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
document.forms用法示例介绍
Jun 26 Javascript
深入理解JavaScript函数参数(推荐)
Jul 26 Javascript
node.js学习之base64编码解码
Oct 21 Javascript
DVA框架统一处理所有页面的loading状态
Aug 25 Javascript
JavaScript的词法结构精华篇
Oct 17 Javascript
为什么要使用Vuex的介绍
Jan 19 Javascript
小程序如何写动态标签的实现方法
Feb 05 Javascript
javascript实现固定侧边栏
Feb 09 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与已存在的Java应用程序集成
2006/10/09 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
PHP数组去重的更快实现方式分析
2018/05/09 PHP
javascript中万恶的function实例分析
2011/05/25 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
python实现逆波兰计算表达式实例详解
2015/05/06 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
Python 实现try重新执行
2019/12/21 Python
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
法学专业应届生求职信
2013/10/16 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
校园活动策划方案
2014/06/13 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
运动会演讲稿100字
2014/08/25 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
法律意见书范文
2015/06/04 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers