多种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 相关文章推荐
Js+XML 操作
Sep 20 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
Nov 16 Javascript
基于jquery的二级联动菜单实现代码
Apr 25 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
Feb 21 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
Dec 28 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
Feb 28 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
jQuery中使用validate插件校验表单功能
May 24 jQuery
node使用request请求的方法
Dec 20 Javascript
vue中destroyed方法的使用说明
Jul 21 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+MYSQL的文章管理系统(二)
2006/10/09 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
php的debug相关函数用法示例
2016/07/11 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
Python实现堆排序的方法详解
2016/05/03 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python3解释器知识点总结
2019/02/19 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python 并发下载器实现方法示例
2019/11/22 Python
Python原始套接字编程实例解析
2020/01/29 Python
Django封装交互接口代码
2020/07/12 Python
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
请解释流与文件有什么不同
2016/07/29 面试题
求职简历中的自我评价分享
2013/12/08 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
最感人的道歉情书
2015/05/12 职场文书
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers