多种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 相关文章推荐
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
Jul 18 Javascript
文本框的字数限制功能jquery插件
Nov 24 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
Apr 07 Javascript
复选框全选与全不选操作实现思路
Aug 18 Javascript
jQuery+ajax实现无刷新级联菜单示例
May 21 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
基于JavaScript Array数组方法(新手必看篇)
Aug 20 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
Vue中插入HTML代码的方法
Sep 21 Javascript
使用Mock.js生成前端测试数据
Dec 13 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
解析php框架codeigniter中如何使用框架的session
2013/06/24 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
php猜单词游戏
2015/09/29 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
Python实现完整的事务操作示例
2017/06/20 Python
Python实现的栈(Stack)
2018/01/26 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python反转列表的三种方式解析
2019/11/08 Python
Python input函数使用实例解析
2019/11/22 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
学校岗位设置方案
2014/01/16 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
初中运动会前导词
2015/07/20 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫