多种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 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
javascript 复杂的嵌套环境中输出单引号和双引号
May 26 Javascript
js中数组Array的一些常用方法总结
Aug 12 Javascript
javascript:json数据的页面绑定示例代码
Jan 26 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
jQuery 选择器(61种)整理总结
Sep 26 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
Express框架之connect-flash详解
May 31 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
Vue中之nextTick函数源码分析详解
Oct 17 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
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 获取可变函数参数的函数
2009/08/26 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
基于jQuery实现瀑布流页面
2017/04/11 jQuery
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
python解析含有重复key的json方法
2019/01/22 Python
详解Python sys.argv使用方法
2019/05/10 Python
django创建超级用户过程解析
2019/09/18 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
茶叶店创业计划书范文
2014/01/19 职场文书
小学运动会表扬稿
2014/01/19 职场文书
道路建设实施方案
2014/03/18 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
党员查摆剖析材料
2014/10/10 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书