首页
学习
活动
专区
工具
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.7K30

浅析 FP:JavaScript 函数

前言 函数 是一个常见概念,在日常工作也经常会遇到,它其实非常简单,今天我们来了解一下它好处以及为什么要使用它。...那我们如果换成函数版本 greet ,所有都是那么自然~ 只需要修改单元测试传入参数即可! 可缓存性(Cacheable) 函数可以根据输入来做缓存。...,如果多次调用就会返回缓存后值,从而节省计算资源,而这一切前提都建立在传入 cached 那个函数为函数基础上。...可移植性 / 自文档化(Portable / Self-Documenting) 由于函数是自给自足,它需要东西都在输入参数已经声明,所以它可以任意移植到任何地方。...函数就是这么个正直小可爱~ 总结 好啦,我们已经大概了解了函数,它对于我们写出良好代码有着重要意义,同时也是函数式编程精髓。

58920

JavaScriptEvent(事件)详解

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

91810

前端JavaScript动态事件添加

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

22720

JavaScript事件内存与性能

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

51620

javascript函数,函数怎么定义

函数 函数概念 函数: 相同输入始终会得到相同输出,而且没有任何可观察副作用 函数就类似数学函数(用来描述输入和输出之间关系),y=f(x) Lodash 是一个函数功能库...,提供了对数组,数字,对象,字符串,函数等操作一些方法 数组slice和splice分别是函数和不纯函数 slice 返回数组指定部分,不会改变原数组 splice 对数组进行操作返回该数组...,会改变原数组 函数式编程不会保留计算结果,所以变量是不可变(无状态) 我们可以把一个函数执行结果交给另一个函数去处理 多次调用 slice 发现相同输入得到相同输出,所以是函数, splice...JavaScript 实用工具库。..._.chunk(['a', 'b', 'c', 'd'], 3); // => [['a', 'b', 'c'], ['d']] compact 去除数组元素假值false, null,0, ""

82530

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之间交互是通过事件实现事件就是文档或浏览器窗口中发生一些特定交互瞬间。...1) 事件流 描述是从页面接受事件顺序 1. 事件冒泡 (IE事件流) 事件开始由最具体元素接收,然后逐级向上传播到不具体节点。...HTML事件处理程序 某个元素支持每种事件,都可以使用一个与相应事件处理程序同名HTML特性来指定。这个特性值应该是能够执行JavaScript代码。...3)HTML与JavaScript代码紧密耦合。 2. DOM0级事件处理程序 通过javascript制定事件处理程序传统方式,将一个函数赋值给一个事件处理程序属性。...IE事件对象 在使用DOM0级方法添加事件时,event对象可以作为window对象一个属性存在,使用attachEvent添加事件处理程序时候,event对象会作为参数传入事件处理函数 dom.onclick

1.4K30

深入理解JavaScript事件委托与事件代理

JavaScript开发事件处理是构建动态、交互式逻辑关键。...事件捕获则是相反过程,事件从文档根节点开始向下捕获,依次触发子元素上相同事件,直到到达实际触发事件目标元素。在实际应用,可以根据具体需求选择使用事件冒泡或事件捕获。...例如,在一个包含多个嵌套元素页面,如果为最内层元素添加点击事件处理程序,当点击该元素时,事件会先触发最内层元素点击事件,然后依次向上冒泡,触发父元素点击事件。...更好事件管理:事件委托可以更容易地实现复杂事件管理逻辑,如键盘事件、鼠标事件等,特别是在复杂UI组件。...当页面上按钮被点击时,事件会冒泡到buttonContainer元素,然后在事件处理函数检查触发事件目标元素是否为按钮。

7920

简单说 JavaScript事件委托(下)

https://blog.csdn.net/FE_dev/article/details/78870583 说明 上次我们说了一些,关于 JavaScript事件委托 基础知识,这次我们继续来看...举例: 这是一个div元素 var el = document.getElementById...jQuery事件委托 jQuery事件委托主要是靠on( ) 方法,我们先来看看 on( ) 方法使用说明 on( ) 方法主要有以下两种形式用法 用法一 jQueryObject.on...data 可选/任意类型,触发事件时,需要通过event.data传递给事件处理函数任意数据。 handler Function类型,指定事件处理函数。...JQueryon( )方法解释,推荐看这里 jQuery.on() 函数详解 总结 用到 事件委托 地方,应该还是比较多,希望大家都能理解这个东西。

47340

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

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

1.1K21

浅谈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事件事件类型)

DOM3级事件类型主要包括:UI事件,用户与页面上元素交互时触发;焦点事件,元素获得或失去焦点触发;鼠标事件,用户通过鼠标在页面上执行操作时触发;滚轮事件,使用鼠标滚轮时触发;文本事件,当在文档输入文本时触发...,会触发load事件,在load事件,我们获取了event对象,并通过event对象属性currentTarget取得了事件处理程序操作元素。...需要注意是,在unload事件不能dom元素进行操作,因为当unload事件执行时候,所有的页面元素都已经不存在。   当浏览器大小发生改变时候会触发resize事件。...resize添加大量计算代码,因为在浏览器窗口改变时候,resize事件会被频繁触发,会影响浏览器性能。...DOM3级定义了9个鼠标事件:click事件,用户单击鼠标左键触发事件或者按下enter键触发;dbclick事件,用户双击鼠标左键时候触发;mousedown事件,用户按下鼠标按钮时触发;mouseenter

1.8K50
领券