首页
学习
活动
专区
工具
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); // 双击触发事件

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

双击事件单击事件那些事

双击事件单击事件那些事 前言 项目遇到了双击事件会同时触发单击事件bug,还是简单记录一下。 心里话:日更太累了。以前都是单独花好几天时间去看别人博客,看很多博客后再慢慢输出。...但是需求是单击和双击不同处理,所以双击时候不应该触发单击事件。 解决方案 思路:可以使用函数防抖做法,单击事件触发后,开启一个定时器,双击事件触发的话就清除定时器。...{ console.log(1); }); timer = setTimeout(() => { console.log(2); }); clearTimeout(timer); 这个案例,...el-checkbox使用注意点 双击事件单击事件问题处理完了,再加上一下下项目的踩坑点。 el-checkbox没有事件对象,平常事件对象在el-checkbox上是布尔值,表示是否选中。...checked.value; } 图片 可以在直接修改绑定值同时,手动调用change事件处理函数来模拟触发change事件,不过,事件对象传参就不太好模拟了。

3.6K30

JavaScriptEvent(事件)详解

Event 对象 Event 对象代表事件状态,比如事件在其中发生元素、键盘按键状态、鼠标的位置、鼠标按钮状态。 事件通常与函数结合使用,函数不会在事件发生前被执行!...事件句柄 (Event Handlers) HTML 4.0 新特性之一是能够使 HTML 事件触发浏览器行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript。...下面是一些常用属性,可将之插入 HTML 标签以定义事件行为。 1、单击事件 ? 2、双击事件 ?...5、焦点事件 onfocus:获得焦点事件 onblur:失去焦点事件 onchange:失去焦点时内容改变事件 ? 6、页面加载事件 onload:页面加载完成时实现页面。 ?...注:调用多个函数时,只需要用分号隔开即可。如下图:同时触发两种事件 ? 相关事件所对应函数代码: ? 附:事件名称表 ?

88610

前端JavaScript动态事件添加

前言 在前端开发,交互性是至关重要。动态事件添加是一种在JavaScript实现交互重要技术。本文将介绍动态事件添加概念和优势,并详细介绍两种常用动态事件添加方法。...事件基本概念 事件是指在网页中发生特定交互行为,比如点击按钮、滚动页面或输入文本等。通过事件,我们可以在特定交互行为发生时触发相关JavaScript代码,以实现相应操作和逻辑。...减少重复代码: 可以通过动态事件添加方式,避免在HTML为每个元素都编写相同事件处理代码。...3.事件处理函数编写具体操作逻辑。 通过事件委托实现动态事件绑定 事件委托是一种利用事件冒泡原理动态事件绑定技术。通过将事件绑定到父元素上,可以在父元素上捕获子元素触发事件。...3.在父元素事件处理函数,通过判断事件目标元素,确定要执行操作。 总结 动态事件添加是前端开发实现交互性重要手段。通过动态事件添加,我们可以实现灵活、可扩展交互效果,减少重复代码编写。

19120

JavaScript事件内存与性能

---- theme: channing-cyan 这是我参与8月更文挑战第28天,活动详情查看:8月更文挑战 为什么要说内存与性能 因为事件处理程序在web可以实现交互等其他功能,所有我们很多开发者都会在页面中大量使用事件处理...,在js每一个函数都是对象,都占用内存空间,而且我们快速触发事件,可能因为事件先后顺序而导致交互延迟或者卡顿。...事件委托 事件委托可以解决过度事件处理程序,它原理是利用事件冒泡,用一个事件来管理一种类型事件。...最简单还是在操作完时候我们手动设置一下事件处理程序为null,这样会告诉浏览器,可以安全回收。...其实还可以回到事件委托上来,如果我们知道了页面有事件处理程序可能被移除,那我们直接给更高层次元素上设置事件,这样同样可以达到目的。

50620

IOS5开发-UIScrollView添加单击事件方法

UIScrollView在开发是一个非常常用控件,UIScrollView具有水平、垂直滚动和缩放效果。但是尽然没有响应单击事件这个事件。而这个事件在日常交互是非常需要。...比如当用于单击或轻触图片某个位置时,给于一些交互性提示。 下面我将用例子说明一下如何给UIScrollView添加一个单击响应。...UIScrollView @property(nonatomic,assign) id touchesdelegate; @end 如果要想把单击事件传递出来...这里说一下IOS事件委托(Event Delegate)相对C#事件委托还是不一样,似乎实现起来没有C#方便。这里就不多说了。...但是这里注意一下 [self.nextResponder touchesEnded:touches withEvent:event];这句话意思是将UIScrollView上单击事件往下传递,传递到它

1.8K70

JavaScript事件

javascript与HTML之间交互是通过事件实现事件就是文档或浏览器窗口中发生一些特定交互瞬间。...HTML事件处理程序 某个元素支持每种事件,都可以使用一个与相应事件处理程序同名HTML特性来指定。这个特性值应该是能够执行JavaScript代码。...3)HTML与JavaScript代码紧密耦合。 2. DOM0级事件处理程序 通过javascript制定事件处理程序传统方式,将一个函数赋值给一个事件处理程序属性。...IE事件对象 在使用DOM0级方法添加事件时,event对象可以作为window对象一个属性存在,使用attachEvent添加事件处理程序时候,event对象会作为参数传入事件处理函数 dom.onclick...>)一个或多个字符时 resize 当浏览器窗口被调整到一个新高度或者宽度时,会触发 scroll 当用户滚动带滚动条元素内容时,在该元素上触发resize,scroll会在变化期间重复被激发

1.4K30

简单说 JavaScript事件委托(下)

https://blog.csdn.net/FE_dev/article/details/78870583 说明 上次我们说了一些,关于 JavaScript事件委托 基础知识,这次我们继续来看...jQuery事件委托 jQuery事件委托主要是靠on( ) 方法,我们先来看看 on( ) 方法使用说明 on( ) 方法主要有以下两种形式用法 用法一 jQueryObject.on...data ], handler ) 用法二 jQueryObject.on( eventsMap [, selector ] [, data ] ) 参数 描述 events String类型,一个或多个用空格分隔事件类型和可选命名空间...data 可选/任意类型,触发事件时,需要通过event.data传递给事件处理函数任意数据。 handler Function类型,指定事件处理函数。...JQueryon( )方法解释,推荐看这里 jQuery.on() 函数详解 总结 用到 事件委托 地方,应该还是比较多,希望大家都能理解这个东西。

46440

简单说 JavaScript事件委托(上)

https://blog.csdn.net/FE_dev/article/details/78821578 说明 这篇文章说JavaScript事件委托,这次先说一些比较基本知识。...事件JavaScript 侦测到行为就是事件,比如鼠标点击、某个键盘键被按下、元素获得焦点。 委托:就是把原来自己做事,交给别人做。...,给父元素 ul 绑定单击事件 ul.onclick = function (e){ //这里e 就是event对象 //target属性 返回触发此事件元素...事件委托 好处 1、减少了事件监听器,原来需要在多个子元素绑定相同事件处理函数,现在只需要在祖先元素(一般为父元素)上统一定义一次即可。...还有 JQuery事件委托 又是怎么做呢? 看这里 简单说 JavaScript事件委托(下)

56720

深入理解JavaScript事件传播机制:事件冒泡和事件捕获

前言在JavaScript事件冒泡和事件捕获是两种不同事件传播方式。当一个事件被触发时,它会从最内层元素开始,然后逐级向外传播,直到最外层元素。...在这个过程事件会经过每一个元素,直到它到达最内层元素。在本文中,我们将详细了解事件冒泡和事件捕获,并探讨它们在JavaScript实现以及如何使用它们。...在这个过程事件会经过每一个元素,直到它到达最内层元素。例如,当你单击一个按钮时,事件会从文档最外层开始向内传播,直到它到达按钮。...如何使用事件冒泡和事件捕获在JavaScript,你可以使用addEventListener()方法来注册事件处理程序,并指定事件传播方式。...这是因为事件从文档最外层开始向内传播,然后经过外部div、内部div和按钮,直到它到达按钮。结论在JavaScript事件冒泡和事件捕获是两种不同事件传播方式。

62221

浅谈JavaScript事件事件对象)

在触发DOM上某个事件时,会产生一个事件对象event,这个对象包含这所有与事件有关信息。包括导致事件元素、事件类型和事件相关信息。例如鼠标操作事件,会包含鼠标的位置信息。...而键盘触发事件会包含与按下键有关信息。所有浏览器都支持event对象,但支持方式不同。 DOM事件对象   兼容dom浏览会将一个event对象传递到事件处理程序。...只读 为true表示事件是浏览器生成,false表示JavaScript添加 type String 只读 被触发事件类型 view AbstarctView 只读 与事件关联抽象视图   上面的表格列出了...document.body.onclick发生在事件冒泡阶段。 IE事件对象   在IE中方式event对象可以通过多种方式,取决于指定事件处理程序方法。...如前所述,returnValue属性相当于DOMpreventDefault方法,它们作用都是取消给定事件默认行为。只要将returnValue设置为false,就会阻止默认事件发生。

1.2K60

浅谈JavaScript事件事件委托)

事件处理程序为Web程序提供了系统交互,但是如果页面事件处理程序太多,则会影响页面的性能。每个函数都是对象,都会占用内存,内存对象越多,性能越差。...通过事件冒泡为ul1指定了事件处理程序,在我们单击li时候通过事件冒泡也会触发该事件,并且能够通过target来获取当前单击元素对象。...内存留有的一些过时用不到事件处理程序也是造成Web页面和内存性能主要问题。   ...btnadd元素绑定了单击事件单击时候通过innerHTML移除了该元素,但是元素事件处理程序并没有移除,依然留在内存。...这样确保内存也移除了该事件处理程序,而从DOM移除按钮也非常彻底。

1K70

浅谈JavaScript事件事件类型)

,会触发load事件,在load事件,我们获取了event对象,并通过event对象属性currentTarget取得了事件处理程序操作元素。...需要注意是,在unload事件不能dom元素进行操作,因为当unload事件执行时候,所有的页面元素都已经不存在。   当浏览器大小发生改变时候会触发resize事件。...resize添加大量计算代码,因为在浏览器窗口改变时候,resize事件会被频繁触发,会影响浏览器性能。...DOM3级定义了9个鼠标事件:click事件,用户单击鼠标左键触发事件或者按下enter键触发;dbclick事件,用户双击鼠标左键时候触发;mousedown事件,用户按下鼠标按钮时触发;mouseenter...IME可以让用户输入在键盘上找不到字符。IME通常需要同时多个字符来确定一个字符,比如中文输入。

1.8K50

浅谈JavaScript事件事件模拟)

事件经常由操作或者通过浏览器功能触发,通过JavaScript也可以触发元素事件。通过JavaScript触发事件,也称为事件模拟。...DOM事件模拟   可以documentcreateEvent方法创建event对象。这个方法接收一个参数,即表示要创建事件类型字符串。...这几个字符串如下:UIEvents,一般化ui事件,鼠标事件和键盘事件都继承于该事件,在DOM3级是UIEvent;MouseEvents,一般化鼠标事件,在DOM3级是MouseEvent;MutationEvents...然后通过元素dispatchEvent方法来触发事件。   DOM2级对键盘事件没有做出规范规定。在DOM3级对键盘事件有明确定义。...可以通过JavaScript代码模拟鼠标事件、键盘事件、HTML事件和变动事件。同时也可以模拟自定义事件

1.9K70
领券