事件中嵌套事件而出现的事件累积!

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="js/jquery-172.js"></script>
    <style>
            .demo1{width: 50px;height: 50px;margin-left: 20px;background: #c20;float: left; cursor: pointer;}
    </style>
</head>
<body>
    <div class="demo1"></div>
    <script>
            $(function (){
                $(‘.demo1‘).on(‘mouseenter‘,function (){
                            console.log(‘mouseenter‘);

                            $(this).on(‘click‘,function (){            //第移入一次div红块随后点击一下,开始出现一次click,随后2次,三次....
                                    console.log(‘click‘);                        //每次移入div就追加一次click事件。导致事件累积
                            });

                            //可以这样
                            /*$(this).off(‘click‘).on(‘click‘,function (){
                                    console.log(‘click‘);                    //这样就可以解决事件累积   原理是什么?为什么会这样?我也想知道  ^_^...
                            });*/
                });
            });
    </script>
</body>
</html>
时间: 2024-12-21 07:18:58

事件中嵌套事件而出现的事件累积!的相关文章

winform 中调用用户控件中 嵌套用户控件的事件

工作了很久,一直没有很深入的了解C#中的委托和事件. 来到新公司,主要的工作就是使用委托和事件操作数据.一下子不知道该如何下手.各方请教大神,得出下面的方法 1. 在A控件中定义一个事件,B控件触发的时候,调用一下这个事件.然后再在A的父级控件中写方法,+=的方式把方法委托给A的事件就行了 窗体: private void Form1_Load(object sender, EventArgs e)        {            UC_Content content = new UC_

js和jquery中嵌套(点击)事件中,防止点击多次父事件,子事件执行多次

1 $("#a").bind("click",function(){ 2 alert('a'); 3 $("#b").bind("click",function(){ 4 alert('b'); 5 }) : 6 }); 7 /*这样连续点击a按钮后,在点击一次b按钮,会重复a按钮点击的次数,我给的解释是,按钮a点击一次,会监听b点击的事件,这样点击多次后,会相应地监听b多次事件.所以,如果只是想执 行最后一次b的点击事件,应

WPF触屏Touch事件在嵌套控件中的响应问题

原文:WPF触屏Touch事件在嵌套控件中的响应问题 前几天遇到个touch事件的坑,记录下来以增强理解. 具体是 想把一个listview嵌套到另一个listview,这时候如果list view(子listview)的内容过多超过容器高度,它是不会出现滚动条压缩内容区域的,反而会将滚动区域转移到外面的list view(父listview),这个无可争议,但这个问题开始没留意,为待会的坑埋下伏笔. 因为 然后就是设置鼠标滚轮. 首先我使用了MouseWheel事件,奇怪的是它明明是个路由事件

乱谈Qt事件循环嵌套

本文旨在说明:QDialog::exec().QMenu::exec()等开启的局部事件循环,易用的背后,还有很多的陷阱... 引子 Qt 是事件驱动的,基本上,每一个Qt程序我们都会通过QCoreApplication或其派生类的exec()函数来开启事件循环(QEventLoop): int main(int argc, char**argv) { QApplication a(argc, argv); return a.exec(); } 但是在同一个线程内,我们可以开启多个事件循环,比如

jQuery中多个元素的Hover事件

1.需求简介 2.示例研究 3.解决方案 1.需求简介 jQuery的hover事件只是针对单个HTML元素,例如: $('#login').hover(fun2, fun2); 当鼠标进入#login元素时调用fun1函数,离开时则调用fun2函数,这种API已能够满足绝大部分需求. 不过,有些时候我们希望当鼠标进入两个或多个元素“组合的区域”时触发fun1,离开他们时触发fun2,而在这些元素间移动鼠标并不触发任何事件.例如两个元素紧挨着的HTML元素,如下图: 当鼠标进入二者的“组合区”域

WPF 在事件中绑定命令(可以在模版中绑定命令)

其实这也不属于MVVMLight系列中的东东了,没兴趣的朋友可以跳过这篇文章,本文主要介绍如何在WPF中实现将命令绑定到事件中. 上一篇中我们介绍了MVVMLight中的命令的用法,那么仅仅知道命令是如何构建使用的还不够,很多情况下我们都需要在某个事件触发的时候才去触发命令,所以将命令绑定到事件上是非常有效的做法,下面我们来接着实现将命令绑定到事件中. WPF实现命令绑定到事件 使用 System.Windows.Interactivity.dll 中的 Interaction 可以帮助我们实现

javascript事件之:jQuery事件中实例对象和拓展对象之间的通信

我们总结过jQery事件中的实例原型对象对外接口和拓展对象,现在我们看看他们是如何进行通信联系的. 先来看便捷方法: 1 //调用的还是实例对象下的on()和trigger() 2 jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + 3 "mousedown mouseup mousemove mouseover mouseout mouseenter

touch事件中的touches、targetTouches和changedTouches详解

touches: 当前屏幕上所有触摸点的列表; targetTouches: 当前对象上所有触摸点的列表; changedTouches: 涉及当前(引发)事件的触摸点的列表 通过一个例子来区分一下触摸事件中的这三个属性: 1. 用一个手指接触屏幕,触发事件,此时这三个属性有相同的值. 2. 用第二个手指接触屏幕,此时,touches有两个元素,每个手指触摸点为一个值.当两个手指触摸相同元素时, targetTouches和touches的值相同,否则targetTouches 只有一个值.ch

.net控件事件中的Sender

private void button2_Click(object sender, RoutedEventArgs e) { } 最近看WPF内容,回顾下.net大家天天都在用,却不是十分关注的一个对象----sender 问:sender到底是什么呢? 答:所有的服务器控件中事件都会有(可能说的太绝对,应该说大多会吧),sender指的是触发事件的控件. private void button2_Click(object sender, RoutedEventArgs e) { Button