移动端click失效

移动端使用touch事件,但是会影响到a标签的使用,click事件在touch后执行

先判断节点是否是a标签,之后阻止touch事件冒泡。

document.addEventListener(‘touchend‘,function (e) {    if (e.target.tagName == ‘A‘ || e.target.tagName === ‘button‘){        e.stopPropagation();    }else{        if(!$("#qt").hasClass("hide")){            $("#qt").addClass("hide");        }    }    $(".transport_type ul li a").click(function(){        $("#qt").toggleClass("hide");    });});
时间: 2024-07-28 21:49:33

移动端click失效的相关文章

移动端click事件延时

在移动端使用click事件会产生300ms的延迟 问题的产生: 移动端存在双击放大的问题,所以在移动端点击事件发生时,为了判断用户的行为(到底是要双击还是要点击),浏览器通常会等待300ms,如果300ms之内,用户没有再次点击,则判定为点击事件,否则判定为双击缩放. 为什么要解决: 线代web对性能的极致追求,对用户体验的高标准,让着300ms的卡顿变得难以接受 如何解决: 1.user-scalable:no  禁止缩放——没有缩放就不存在双击,也就没有点击延迟 2.指针事件:CSS:-ms

Selenium2+python自动化46-js解决click失效问题

前言 有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是click事件失效了. 本篇用2种方法解决这种诡异的点击事件失效问题 一.遇到的问题 1.在练习百度的搜索设置按钮时,点保存设置按钮,alert弹出没弹出(代码没报错,只是获取alert失败),相信不只是我一个人遇到过. 二.点击父元素 1.遇到这种问题,应该是前面操作select后导致的后遗症(因为我注释掉select那段是可以点击成功的) 2.第一种解决办法,先点击它的父元素

FastClick使用之trigger触发click失效

最近为了提升web app在ios上的点击效率,使用了FastClick.js,效果很明显,基本是点击后立马有反馈.可是发现一个问题,在使用模拟点击的时候,并不能触发点击的目的. $("#btn").trigger("click");//模拟点击 而以上代码,在安卓上,却能正常触发. 于是百度查找了相关的资料,找到以下内容(引用自http://amazeui.org/1.x/javascript/fastclick/) 不应用 FastClick 的场景 桌面浏览器

移动端click事件延迟300ms的原因以及解决办法

这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题 —— 当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题.这当中最出名的,当属双击缩放(double tap to zoom).这也是会有上述 300 毫秒延迟的主要原因. 当用户一次点击屏幕之后,浏览器并不能立刻判断用户是要进行双击缩放,还是想要进行单击操作.因此,iOS Safari 就等待 300 毫秒,以判断用户是否再次点击了屏幕. 于是,

js移动端click事件延迟

今天做一个移动端网站,一块内容中包含两个js效果,一直以为是冲突,导致只能使用一个,后面发现是click事件延迟引起,解决代码如下:(function(){        var isTouch = ('ontouchstart' in document.documentElement) ? 'touchstart' : 'click';    if(!$.fn.quickOn){            $.fn.quickOn= function(){                argum

移动端click事件延迟300ms的原因以及解决办法[转载]

原文: 这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题 —— 当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题.这当中最出名的,当属双击缩放(double tap to zoom).这也是会有上述 300 毫秒延迟的主要原因. 当用户一次点击屏幕之后,浏览器并不能立刻判断用户是要进行双击缩放,还是想要进行单击操作.因此,iOS Safari 就等待 300 毫秒,以判断用户是否再次点击了屏幕.

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click失效

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click事件,如果有form表单提交或跳转等事件,会失效!举例: <a id="id_back" href="javascript:void(0);" title="返回管理">返 回</a> $("#id_back").click(function(){         $("#id_frm").

Selenium2+python自动化46-js解决click失效问题【转载】

前言 有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是click事件失效了. 本篇用2种方法解决这种诡异的点击事件失效问题 一.遇到的问题 1.在练习百度的搜索设置按钮时,点保存设置按钮,alert弹出没弹出(代码没报错,只是获取alert失败),相信不只是我一个人遇到过. 二.点击父元素 1.遇到这种问题,应该是前面操作select后导致的后遗症(因为我注释掉select那段是可以点击成功的) 2.第一种解决办法,先点击它的父元素

Iphone上对于动态生成的html元素绑定点击事件$(document).click()失效解决办法

在Iphone上,新生成的DOM元素不支持$(document).click的绑定方法,该怎么办呢? 百度了N久都没找到解决办法,在快要走投无路之时,试了试Google,我去,还真找到了,歪国人就是牛逼,原帖地址:http://stackoverflow.com/questions/3705937/document-click-not-working-correctly-on-iphone-jquery 大概意思是,如果要用$(document).click()来绑定新生成的DOM元素,必须给此