<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>The Earth</title>
<link rel="shortcut icon" href="img/earth.ico" type="image/x-icon">
<link rel="icon" href="img/earth.ico" type="image/x-icon">
<script src="js/lib/zepto.js"></script>
<script src="js/index.js"></script>
</head>
<body>
<button type="button" class="btn1">点击1</button><!--先点击点击btn1 3次-->
<button type="button" class="btn2">点击2</button><!--再点击点击btn2 1次-->
</body>
<script>
Zepto(function($){
$(".btn1").click(function(){
$(".btn2").on("click",function(){
console.log(123);//将会执行3次,因为被绑定了三次(.on绑定多少次就执行多少次)
})
})
})
</script>
</html>

解决方法(.on不管绑定多少次只会执行一次---无需点击btn1再绑定,每次点击btn2就执行一次)

 $(".btn1").click(function(){
$(".btn2").off("click").on("click",function(){
//off() 方法用于移除通过on()方法添加的事件处理程序
// (每次向.btn2上绑定click事件时,先将btn2上的click事件移除,再绑定,再点击时就只会有一次绑定)
console.log(123);
})
})
$(".btn1").click(function(){
$(".btn2").unbind("click");
$(".btn2").on("click",function(){
console.log(123);
})
})

解决方法(.on不管绑定多少次只会执行一次---需点击btn1再绑定,才能点击btn2就执行一次)

 Zepto(function($){
$(".btn1").click(function(){
$(".btn2").on("click",function(){
console.log(123);
$(".btn2").off("click")
//off() 方法用于移除通过on()方法添加的事件处理程序
// (每次向.btn2上绑定click事件后,将btn2上的click事件移除,btn2上将没有点击事件,
// 需要在点击btn1去向btn2绑定click事件,btn2才能在点击)
})
})
$(".btn1").click(function(){
$(".btn2").on("click",function(){
console.log(123);
$(".btn2").unbind("click");
})
})
})

.on事件绑定多少次就会执行多少次的更多相关文章

  1. jQuery 事件绑定 和 JavaScript 原生事件绑定

    总结一下:jQuery 事件绑定 和 JavaScript 原生事件绑定 及 区别 jQuery 事件绑定 jQuery 中提供了四种事件监听绑定方式,分别是 bind.live.delegate.o ...

  2. IE attachEvent事件处理程序(事件绑定的函数)的this指向的是window不是执行当前事件的dom元素

    IE attachEvent事件处理程序(事件绑定的函数)的this指向的是window不是执行当前事件的dom元素. attachEvent(type,listener); listener函数中的 ...

  3. ie低版本内核事件兼容问题(事件绑定,绑定事件自动执行,文档模式问题)

    问题情况 搜狗等,兼容模式下,以前前端写的点击事件的代码没有, 后来一看是因为兼容模式为9,导致点击事件失效 解决办法,步骤 1,处理绑定事件兼容问题 ie低版本绑定事件只支持attactevent, ...

  4. 解决input 有多少个radio绑定change事件,手动触发就会执行多少次问题

    如题,相信大家都会遇到这个问题,那么为什么会触发多次呢?其实当你用jquery绑定onchange事件的时候你就无形中给每个radio绑定了事件,所以才会出现执行多少次的问题了,那么如何解决呢,其实这 ...

  5. js立即执行函数应用--事件绑定

    js中立即执行函数的应用:应用到事件绑定上. 少说多做,直接运行代码(代码中有注释): <!DOCTYPE html> <html lang="zh"> & ...

  6. JS: javascript 点击事件执行两次js问题 ,解决jquery绑定click事件出现点击一次执行两次问题

    javascript 点击事件执行两次js问题 在JQuery中存在unbind()方法,先解绑再添加点击事件,解决方案为: $(".m-layout-setting").unbi ...

  7. JavaScript之事件绑定多个序列执行方法

    //一种事件绑定多个方法:以加载事件为例 function addEventLoad(func,isLog) { var oldOnLoad = window.onload; if (typeof w ...

  8. MVVM设计模式和WPF中的实现(四)事件绑定

    MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  9. 7 HTML&JS等前端知识系列之jquery的事件绑定

    preface 我们知道,每一个a,input等等标签都可以为其绑定一个事件,onclick也好,focus 也罢,都可以绑定的.但是众神key想过这个问题没有,倘若这里有1000个input标签需要 ...

随机推荐

  1. python清除字符串中间空格的方法

    1.使用字符串函数replace >>> a = 'hello world' >>> a.replace(' ', '') 'helloworld' 看上这种方法真 ...

  2. Spring 事务机制详解(事务的隔离性和传播性)

    原文出处: 陶邦仁 Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考. Spring声明式事务让我们从复杂的事务处理中得到 ...

  3. grafana-----Templating

    模板允许更多的互动和动态的仪表板.可以将变量用在度量查询中,不必硬编码诸如服务器.应用程序和传感器名称之类的东西.变量显示在仪表板顶部的下拉式选择框中.这些下拉菜单可以很容易地改变在你的仪表板显示的数 ...

  4. onload事件,解决不能在head写代码

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="con ...

  5. KVC && KVO 初见

    Look,这是一个很简单的要求,点击Add me,age +1. 想一想的话很简单的,设置一个属性Nsinteger age,点击button add me,直接加1在重新显示Lable就好啦,不过, ...

  6. Null Coalescing Operator

    w Parse error: syntax error, unexpected '?'

  7. ASP-DateAdd时间增加

    ASP内置函数DateAdd(interval, number, date) 1.interval标识你要加的日期部分,具体参数如下:yyyy → 年m → 月d → 日h → 小时n → 分钟s → ...

  8. 高德地图API使用

    1.根据地址找经纬度/修改经纬度 marker.setPosition(result.geocodes[0].location); map.setCenter(marker.getPosition() ...

  9. win7安装composer

    安装前请务必确保已经正确安装了 PHP.打开命令行窗口并执行 php -v 查看是否正确输出版本号. 开始安装前需要把open_ssl扩展打开 打开命令行并依次执行下列命令安装最新版本的 Compos ...

  10. 在windows和linux之间用SecureCRT来上传和下载文件

    SecureCRT可以使用linux下的zmodem协议来快速的传送文件,使用非常方便.具体步骤:一.在使用SecureCRT上传下载之前需要给服务器安装lrzsz:A:CentOS中使用yum安装即 ...