<!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. ofstream和ifstream详细用法

    ASCII和二进制文件的输入输出 First:包含头文件#include <fstream> ASCII输入: 首先要创建一个in-stream对象:ifstream fin(" ...

  2. 【BZOJ5056】OI游戏 最短路+有向图生成树计数

    [BZOJ5056]OI游戏 Description 小Van的CP最喜欢玩与OI有关的游戏啦~小Van为了讨好她,于是冥思苦想,终于创造了一个新游戏. 下面是小Van的OI游戏规则: 给定一个无向连 ...

  3. JQuery处理DOM元素

    现有一个id为txtMyTest的元素 获取属性值 $('#id').attr('属性名'); 设置属性值 $('#id').attr('属性名','需要设置的值'); 设置多个属性 如下同时设置va ...

  4. solr删除数据(全删除)

    背景:数据索引错了,不想要了.也不想一条条删! 方法: 1.在solr客户端,访问你的索引库(我认为最方便的方法) 1)documents type 选择 XML 2)documents 输入下面语句 ...

  5. AJAX 异步传数组时候,后台接收不到!

    呵呵,那么问题又来了! 这是为啥呢!! var ids= []; $.ajax({ url: 'xxxx.do', data: { ids: ids}, dataType: "json&qu ...

  6. client-server model peer-to-peer architecture 主从式架构

    w https://zh.wikipedia.org/wiki/主从式架构 主从式架构 (Client–server model) 或客户端-服务器(Client/Server)结构简称C/S结构,是 ...

  7. python函数回顾:all()

    描述 all() 函数用于判断给定的可迭代参数 iterable 中的所有元素,是否不为 0.''.False 或者 iterable 为空,如果是返回 True,否则返回 False. 如果是空元组 ...

  8. Django 进阶(分页器&中间件)

    分页 Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views h ...

  9. HTTP1.1中CHUNKED编码解析

    一般HTTP通信时,会使用Content-Length头信息性来通知用户代理(通常意义上是浏览器)服务器发送的文档内容长度,该头信息定义于HTTP1.0协议RFC  1945  10.4章节中.浏览器 ...

  10. 根据URL请求 返回XML字符串

    public static string GetHttpResponse(string url) { string content = ""; // Create a new Ht ...