首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件

js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。 我们加一个延迟时间就能很好的解决这个问题。...原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 click_store 里,如果 0.3 秒内没有接收到双击事件,就去执行它,如果接收到了,我们把它清理掉,然后去执行双击事件。...var click_store // 定义一个全局变量存储单击触发事件 document.addEventListener('click', deal_click); document.addEventListener...('dblclick', deal_dblclick); function deal_click(e){ click_store = setTimeout(function(e){ // 单击触发事件...,0.3s延迟 ... },300); } function deal_dblclick(e){ // 单击事件清理 clearTimeout(click_store); // 双击触发事件

6.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件

    因此,触发顺序是,mousedown首先触发,mouseup接着触发,click最后触发。 dblclick事件则会在mousedown、mouseup、click之后触发。...两者的区别是,mouseenter事件只触发一次,而只要鼠标在节点内部移动,mouseover事件会在子节点上触发多次。...在单击的时候(也就是鼠标按下的时候)不会执行双击,但是双击的时候会执行两次单击再执行双击事件。 解决的思路:要想双击时不执行单击事件,就使用定时器清除掉两个单击事件,留下一个双击事件。...要想不执行第一次的任务队列,那么定时器时间间隔就必须大于两次单击的时间间隔了。这样才能清除第一次的单击事件,所以,这个200是酌情值,大于间隔就行。...第一次单击任务不执行了,是被定时器延时,然后第二次点击的时候给清除了。那么第二次点击事件呢? 在两次单击之后,会立马执行一个双击事件,双击事件的一开头就把这个第二次点击事件给清除了。

    73820

    dotnet 读 WPF 源代码笔记 为什么设置了SplashScreen会让Application.Current.Activated事件不触发

    在 WPF 应用中,可以非常方便将一张图片设置为 SplashScreen 启动界面欢迎图,但是如果有设置了启动界面欢迎界面,那么 Application.Current.Activated 事件就不会被触发...在 SplashScreen 显示完成之后,再创建 App 出来,也就是说监听 Activated 事件是在启动图之后 那么 Activated 事件是由谁分发的?...return false; } 也就是说调用进入 WmActivateApp 的参数将决定是否调用 OnActivated 函数,在 OnActivated 函数里面就是事件触发...IntPtr.Zero, wrapperHooks); } } 也就是说 Activated 事件的触发就是依靠...的速度足够快,因此在 Application 的 EnsureHwndSource 函数调用之前,系统发送了 WM_ACTIVATEAPP 消息给到应用了 所以在 App 的构造函数监听 Activated 事件将不会收到触发

    1K40

    WPF 窗口和控件的 Unloaded 事件什么情况下不会触发

    WPF 中如果监听窗口或者控件的的 Unloaded 事件,那么这个事件会触发吗?答案是不确定的。...如果应用程序正在关闭,那么 Unloaded 时间将不会触发。WPF 通过设置在 Application 上的 ShutdownMode 来决定是否在关闭窗口后关闭应用程序。...因此,如果你试图通过在 Unloaded 事件中执行清理操作,那么可能不会如预期般完成。...因此,一般情况下,Unloaded 事件是会触发的,但满足如下任一情况时,此事件将不不会触发: Application.ShutdownMode="OnLastWindowClose" 且最后一个窗口关闭时...顺序 当触发 Unloaded 事件时,以上事件的触发顺序为: 断点 3 断点 1 断点 2 参考资料 Unloaded event not called on Window when app closed

    48820

    给自定义控件(Web Control)添加事件的几种方法。前两种方法可以不实现IPostBackEventHandler

    先举一个简单的例子吧,我们建立一个复合控件,在CreateChildControls()里面添加两个控件,一个是Label,一个是LinkButton。...具体一点就是要在自定义控件内部,在单击LinkButton的时候修改Label的值。 ...外面的事件怎么没有被调用呢?这是因为,事件先触发自定义控件内部的事件,然后再由控件内部发出“命令”,调用外部的事件,那么我们怎样才能发出这个命令呢?我们需要要添加这个函数。...(实现了内部和外部的事件相应,但是这时候我们还没有实现传说中的接口,这是为什么呢?)     3、“借用”事件,没有成功。     ...我们再给自定义控件加上几个标签,让也可以提交表单(就是触发事件),填写如下代码。

    1.2K70

    知识点 | JavaScript事件浅析

    event.target //触发事件的元素,事件委托会用到。...scroll 滚动的时候触发,无限滚动之类的一些效果 resize 放大缩小窗口的时候发生变化,和上面的scroll都需要注意去抖, 鼠标事件 传送门,去看鼠标事件 click 单击事件,在DOM上单击鼠标时候触发...在文本插入文本框之前会触发textInput事件。 compositionstart 在IME的文本复合系统打开时触发,表示要开始输入了。...当你使用输入法的时候会触发一下 compositionupdate 在向输入字段中插入新字符时触发。 compositionend 在IME的文本复合系统关闭时触发,表示返回正常键盘的输入状态。...控件事件 input 当内容发生改变的时触发,有可能是代码触发的改动兼容ie的话input propertychange change 当失去焦点时,内容改变触发 blur 失去焦点触发 focus 获得焦点触发

    1.3K30

    VBA专题05-1:一文彻底掌握用户窗体编程基础知识(上)

    3.更多的控件。有一些更多的可用的控件,可以在控件工具箱中单击右键,从快捷菜单中选择“附加控件”,能够添加日历、电子表格、图形等等其它控件。 4.添加事件程序。...事实上,用户窗体中的任何引用或者变量或者控件或者属性都将强制装载,并且触发初始化事件。...初始化是发生在用户窗体中的第一件事情——只要用户窗体开始装载,就会触发初始化事件。 在这里,可以初始化变量和控件。...激活用户窗体 如果不卸载用户窗体而只是隐藏它,然后再显示它,初始化事件不会再运行。但是,激活(Activate)事件将会发生。当用户窗体每次获得焦点时,都会触发激活事件。...带参数的事件 和Excel的事件一样,一些窗体事件也带有参数,提供更多的关于怎样触发事件和为什么会触发事件的信息。例如,UserForm_KeyDown事件将告诉按下了哪个按键。

    6.5K20

    Excel编程周末速成班第21课:一个用户窗体示例

    下一步将添加用于数据输入的文本框控件,用于state的复合框控件,用于操作的命令按钮控件,以及用于标识每个文本框和列表框的标签控件。...所需的顺序是将六个数据输入控件按正确的顺序放在选项顺序的顶部,然后是三个命令按钮控件。 步骤3:编写初始化代码 此窗体的初始化代码只需要做一件事:为复合框控件加载所有州的缩写。...为了简洁起见,本示例中的代码仅将某些州加载到控件中;当然,真正的应用程序需要在复合框中包含所有州。 要添加代码: 1.单击工程窗口中的“查看代码”按钮以打开用户窗体的代码编辑窗口。...你可以看到,当用户单击“下一步”或“完成”按钮时,将执行验证。因此,不应将验证代码放在按钮的Click事件过程中,而应放在它自己的过程中。...当然,在单击“下一步”按钮时,这是必需的,在单击“取消”或“完成”按钮时,这也是必需的。即使使用Hide方法隐藏了该窗体,它在下次显示时仍将所有数据保留在其控件中。因此,需要清除控件。

    6.1K10

    初识Windows程序

    最小化按钮:Minimun 窗体边框样式 :FROMBorderStyle 窗体初始位置:StartPosition 窗体状态:WindowsState 帮助按钮:HelpButton 命名规范-前缀 控件名称...   控件类名   命名前缀 标签   Label   lal 文本框   TextBox   txt 组合框   ComboBox  Cbo 按钮   Button   btn 规范化命名可以提高程序的可读性和可维护性...Text :显示文件 TextAlign:文本的对齐方式 Windows应用程序是事件驱动 事件驱动:随时响应用户触发的事件,做出相应的处理 我们需要做的 针对相关事件,编写相应的事件处理程序...编写事件处理程序的步骤 选中控件  在属性窗口中单击  找到事件  双击生成事件处理方法 编写处理代码 若事件事件处理方法未触发,请检查属性窗口中事件处理程序是否设置正确 窗体FROM load事件:窗体加载时触发...文本框 textbox: textchanged事件:文字改变时触发 按钮button click事件:单击触发触动 每个控件的事件非常多,我们只需要关注常用的事件即可 messageBox消息框 为什么要使用消息框

    4.3K40

    【C#】让工具栏ToolStrip能触发焦点控件的Leave、Validating、DataError等事件以验证数据

    ButtonClick而不是Click,单击按钮部分虽然也会先触发ToolStrip.Click事件进行验证,但不管验证结果如何,ButtonClick都会被执行,不像ToolStripButton.Click...所以对付ButtonClick,在找到更好的办法前,我还得在事件处理方法中加判断才行。真他娘的让人不省心。...但如果单击的是工具栏上的项目(如ToolStripButton,之所以说项目而不是控件,你懂的),是不会触发焦点控件的验证事件的,而是会直接执行按钮事件,这样带来的影响相信大家深有体会。...上,以此触发焦点控件的验证 //注意虽然是工具栏的Click,但经过实践点击其中的子项都会优先触发该事件 //所以当焦点控件验证通不过时,不会再执行子项的Click事件,这一点我想是由win32...,以此来触发先前控件的Leave/Validating/DataError等事件。

    1.2K20

    【更正】“给自定义控件(Web Control)添加事件的几种方法”有一个不太准确的地方。

    上一篇写了一下如何在自定义控件里面添加事件,由简单的开始,一步一步实现了几种添加事件的方式,由于当时只给自定义控件添加了一种外部事件,测试的时候没有什么问题,但是后来在写分页控件的时候,我给分页控件加了两种外部事件...#region 定义事件         /**////          /// 用户单击页号后,触发的事件,在绑定显示数据的控件之前触发         /// 控件之后触发         ///          [Description("在自动提取数据的方式下,绑定控件后触发")]         public event...#region 调用外部事件         /**////          /// 用户单击页号后,触发的事件,在绑定显示数据的控件之前触发         /// </summary...= null)                 hd(sender, e);         }         #endregion         分页控件的回发事件#region 分页控件的回发事件

    75670

    Java交互界面实现计算器开发设计【附函数源码】

    就比如拿今天开发的这个计算器来说,我们需要有最基本的主函数,控件触发时的集中处理函数(因为我们不可能对计算器上的每一个控件设置一个处理函数,这样会增大程序的复杂度)、操作符触发时的处理函数、实现计算器界面布局的函数...控件触发时集中处理函数 首先是定义控件触发时的集中处理函数,该函数的功能上可以根据实际情况分为两部分,第一部分是在我们没有点击运算操作符前,点击数字控件所触发的事件,也就是我们在输入一个数值时要做的事情...;第二部分是我们在点击了运算操作符之后再点击数字控件时所触发的事件,按照实际情况,这时我们输入的数值应该是要计算的第二个数值。...你可能会问,为什么不直接使用INumfirst接收第一个数据,使用INumsecand接收第二个数据,原因是因为,当你点击数字控件时,我们无法判断你输入的数据是第一个数据还是第二个数据,我们只能将你输入的数据统一的赋值给某一个变量...计算器窗口界面函数 在这两个函数完成之后,就是我们计算器的界面设计函数了, 在该函数中,我们需要对计算器的整体界面进行布局设计,同时还需要对每一个控件添加监控,当我们点击相应的控件的时候,可以触发相应的事件操作

    1.4K10

    看完这篇还不会 GestureDetector 手势检测,我跪搓衣板!

    判断成功、发生双击事件⌚️ But 这实在是太复杂了,你又要控制时间,又要判断控件等等等等。所以,我们因该如何解决呢?...、双击事件等等),就可以监听到单击,双击,滑动等事件,然后直接在这些方法内部进行处理。...那么运行时就可能出现程序崩溃的情况,这是为什么呢?        ...也就是说但你点击了一个控件时(双击第一下),这个回调马上会被调用,然后迅速点第二下(双击事件的第二下),则其不会被调用。...类型 触发次数 摘要 onSingleTapUp 1 在双击的第一次抬起时触发 onSingleTapConfirmed 0 双击发生时不会触发 onClick 2 在双击事件时触发两次 它和 onSingleTapConfirmed

    1.7K20

    JS DOM学习笔记

    ):网页加载完毕时触发,浏览器是一边下载文档、一边解析执行,可能会出现JavaScript执行时需要操作某个元素,这个元素还没有加载,如果这样就要把操作的代码放到body的onload事件中,或者可以把...元素的onload事件是元素自己加载完毕时触发,body onload才是全部加载完成。...window.onload = function () { //...... }  //动态注册事件,窗体加载完成后执行,和body onload效果差不多 7、window.控件Id(不建议使用),推荐...document.getElementById("控件Id")来获取标签对象 8、事件:onclick(单击)、ondblclick(双击)、onkeydown(按键按下)、onkeypress(按下按键...();  //刷新当前页 10、window.event是IE下非常重要的属性,用来获得发生事件时的信息,事件不局限于window对象的事件,所有元素的事件都可以通过event属性取得相关信息。

    4K40
    领券