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

JS篇(028)-移动端 click 事件、touch 事件、tap 事件的区别

参考答案: 1.click 事件在移动端会有 200-300ms 的延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击的 200-300ms 之后,才触发 click,...如果 200-300ms 之内还有 click,就会进行放大缩小。...mouseover mouseup 的触发 3.tap 事件在移动端,代替 click 作为点击事件,tap 事件被很多框架(如 zepto)封装,来减少这延迟问题, tap 事件不是原生的,所以是封装的...display: none,而从上面的 tap 可以看出,有 touchstart、touchend,所以会 300ms 之后触发 click 事件,而 z-index 已经消失了,所以,触发了下面的...a 的 click 事件,注意: 我们认为 a 标签默认是绑定了 click 事件的。

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

代码触发,手动触发touchstart事件,touch事件click事件,自定义事件

工作中有时候会用到需要用代码去手动触发某个事件或者是自定义事件,通常触发click事件的做法为eleme.click(),遇到touchstart就行不通了。...可以使用以下方式 // 创建事件. var event = document.createEvent('Events'); // 初始化一个点击事件,可以冒泡,无法被取消 event.initEvent...('touchstart', true, false); // 设置事件监听. elem.addEventListener('touchstart', function (e) { //...e.target 就是监听事件目标元素 }, false); // 触发事件监听 elem.dispatchEvent(event); initEvent已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它...'touchstart', function (e) { ... }, false); // 触发event. elem.dispatchEvent(event); Event构造函数也可以使用自定义事件

4.6K30

Android触摸事件和mousedown、mouseup、click事件之间的关系

,如果没有改变,会按照mousedown,mouseup,click的顺序触发事件。...特别需要提到的是,只有再触发一个触屏事件时,才会 触发上一个事件的mouseout事件。 二、mousedown、mouseup、click事件之间的关系 点击select标签元素的时候,会弹出下拉。...首先想到是利用click事件控制,发现仍然会有下拉出现…实际这个是mousedown事件控制的。 这里就说明下click和mousedown、mouseup。...规范要求,只有在同一个元素上相继触发 mousedown 和 mouseup 事件,才会触发 click 事件;如果 mousedown 或 mouseup 中的一个被取消,就不会触发 click 事件...实际这个就利用了click事件要求在同一个元素相继触发mousedown和 mouseup 事件

2.6K30

jQuery 事件注册事件处理

1. jQuery 事件注册 ​ jQuery 为我们提供了方便的事件注册机制,是开发人员抑郁操作优缺点如下: 优点: 操作简单,且不用担心事件覆盖等问题。...缺点: 普通的事件注册不能做事件委托,且无法实现事件解绑,需要借助其他方法。...单个事件注册 $("div").click(function() { $(this).css("background", "purple");...​ 因为普通注册事件方法的不足,jQuery又开发了多个处理方法,重点讲解如下: on(): 用于事件绑定,目前最好用的事件绑定方法 off(): 事件解绑 trigger() / triggerHandler...(): 事件触发 2.1 事件处理 on() 绑定事件 ​ 因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()

3.8K20

jQuery 双击事件(dblclick)时,不触发单击事件(click)

出处:jQuery 双击事件(dblclick)时,不触发单击事件(click) 在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。...即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick...)时却会触发两次单击事件(click)。...mouseout,click,dblclick; 在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。...也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。

5.1K30

移动端click事件300ms延迟

移动端click 事件延迟300ms 一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟。...基本原理:FastClick的实现原理是在检测到touchend事件的时候,会通过DOM自定义事件立即出发模拟一个click事件,并把浏览器在300ms之后真正的click事件阻止掉。...this.needsClick(targetElement)) { // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click event.preventDefault()...,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。...为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件

2.6K21

jQuery源码解析之click()的事件绑定

二、$().click() 作用: 为目标元素绑定点击事件 源码: //这种写法还第一次见,将所有鼠标事件写成字符串再换成数组 //再一一绑定到DOM节点上去 //源码10969行 jQuery.each...( { //在被选元素及子元素上添加一个或多个事件处理程序 //$().on('click',function()=<{}) //源码5817行 on: function...,也就是说,click()/on() 的本质是 element.addEventListener() 事件,前面一系列的铺垫,都是在为目标 jQuery 对象添加必要的属性。...:mouse|pointer|contextmenu|drag|drop)|click/, //事件类型的命名空间 //举例:var arr1 = "click.aaa.bbb".match...(rtypenamespace); //console.log(arr1);//["click.aaa.bbb", "click", "aaa.bbb", index: 0, input: "click.aaa.bbb

1.6K20

jQuery 事件注册事件处理

1. jQuery 事件注册 jQuery 为我们提供了方便的事件注册机制,是开发人员抑郁操作优缺点如下: 优点: 操作简单,且不用担心事件覆盖等问题。...缺点: 普通的事件注册不能做事件委托,且无法实现事件解绑,需要借助其他方法。...单个事件注册 $("div").click(function() { $(this).css("background", "purple");...因为普通注册事件方法的不足,jQuery又开发了多个处理方法,重点讲解如下: on(): 用于事件绑定,目前最好用的事件绑定方法 off(): 事件解绑 trigger() / triggerHandler...(): 事件触发 2.1 事件处理 on() 绑定事件 因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()等

4.3K40

jQuery 事件注册事件处理

1. jQuery 事件注册 jQuery 为我们提供了方便的事件注册机制,操作优缺点如下: 优点: 操作简单,且不用担心事件覆盖等问题。...缺点: 普通的事件注册不能做事件委托,且无法实现事件解绑,需要借助其他方法。 语法 ?...单个事件注册            $("div").click(function() {                $(this).css("background", "purple");          ...因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()等,其中最好用的是: on(),重点讲解如下: on():...个事件事件处理函数 语法: element.on (events, [selector], fn) events:一个或多个用空格分隔的事件类型,如"click或"keydown" .

1.6K41
领券