多种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右键信息的js代码
Jan 17 Javascript
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
基于jQuery实现下拉框
Nov 24 Javascript
jQuery trigger()方法用法介绍
Jan 13 Javascript
js随机生成字母数字组合的字符串 随机动画数字
Sep 02 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
Jul 01 Javascript
基于JavaScript实现购物网站商品放大镜效果
Sep 06 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
Oct 16 Javascript
JavaScript WeakMap使用详解
Feb 05 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构造函数的继承方法
2015/02/09 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
axios取消请求的实践记录分享
2018/09/26 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
成人大专生实习期的自我评价
2013/10/02 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
支部组织生活会方案
2014/06/10 职场文书
最美护士演讲稿
2014/08/27 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书