移动端穿透导致执行两个事件解决方法

1、A层有一个a标签,绑定有事件

2、A层遮盖的层B,位置正下方有一个a标签,也绑定有一个事件

在点击A上的a标签,关闭mask时,会触发B层a标签对应的事件,一个较简单解决办法

1、引用 <script src="/scripts/fastclick.js" type="text/javascript"></script>

2、click改为 ontouchend

 fastclick.js下载地址:https://as.alipayobjects.com/g/component/fastclick/1.0.6/fastclick.js

原文地址:https://www.cnblogs.com/zhaogaojian/p/10317489.html

时间: 2024-11-11 10:58:32

移动端穿透导致执行两个事件解决方法的相关文章

ajax跨域往php程序post数据时,php程序总是执行两次的解决方法

php程序是部署在IIS7上面,ajax提交数据时,遇到了两个问题,一个就是跨域,一个php程序总会被执行两次. 第一个问题的解决方法,是百度出来的,添加下面几行代码就可以了: header('Access-Control-Allow-Origin:*'); header("Access-Control-Allow-Headers: x-requested-with,content-type"); header('Access-Control-Allow-Methods: OPTION

重写dispatchKeyEvent方法 按返回键back 执行两次的解决办法

重写dispatchKeyEvent方法 按返回键back 执行两次的解决方法 @Override   public boolean dispatchKeyEvent(KeyEvent event) {           if(event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() != KeyEvent.ACTION_UP) {//不响应按键抬起时的动作                //TODO 代码    

jquery的on绑定点击事件执行两次的解决办法

js(jquery)的on绑定点击事件执行两次的解决办法—不是事件绑定而是事件冒泡 遇到的问题:jquery中用.on()给页面中新加的元素添加点击事件时,点击事件源,绑定的事件执行两次,这里的alert会执行两次,相应地数组删除也执行两次,具体代码如下(其中.tabDel是页面加载之后新生成的元素,故不能用普通的$(‘.tabDel).click(function(){})的方法添加点击事件): 上网找的解决方法大概有一下两种:1.在用 on 绑定 click 事件之前,对该事件解绑,也就是

两个叠在一起的fragment,上层fragment响应下层fragment的按钮点击事件解决方法

添加onViewCreated的Touch事件监听, 以解决叠在一起的fragment上层响应下层的按钮点击事件解决方法 @Override public void onViewCreated(View view, Bundle savedInstanceState) { view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { ret

android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法

定义的getView执行多次的ListView布局: [html] view plaincopy <ListView android:id="@+id/lv_messages" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layo

农行K宝不能使用 农行K宝导致光驱无法识别的解决方法

农行的K宝又不能用了 - 农行的K宝和IE8像是有仇似的 也不知道是驱动的原因还是IE的原因 反正经常性的无法识别这次的问题是:选择证书之后 提示无法连接 着手解决:先去农行网站 下载最新版的驱动 发现和我装的是一个版本 看来不是驱动的问题运行services.msc 查看Certificate Propagation服务和GP_CLT服务 也是启动状态 也不是服务的问题运行农行的客户端检测程序 告诉我"当前设置不影响网银使用" - -!这是怎么了--没办法了 进入PE 还原我前几天做

移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法

这两天自己在写一个手机网页,用到了触屏滑动的特效,就是往右滑动的时候左侧隐藏的菜单从左边划出来. 做完之后在手机原生浏览器中运行正常,但在QQ和微信中打开,发现touchmove只会触发一次,而且touchend也经常不触发. 之后百度了一下这个问题,原因是 主要是由于200ms超时导致内核不一定会一直处理touchmove事件,一旦超时会将后续所有的事件转交给UI处理,导致touchmove不会一直触发. 为了解决开发者需要,建议开发者在touchstart时调用event.preventDe

ajax 动态载入html后不能执行其中的js解决方法

事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁癖者所不齿. 2. 使用document.write输出代码,我等简洁主义者所不愿. 3. 最简单的方法是把js放到需要调用的父页面,那想这样的公用页面,每个地方调用都要写入一次,代码冗余. 4. eval是个解决方法,虽然低效. 5. 复杂的解决方法:正则匹配出加载页面中的所有js,为这些js创建

&amp;#65279导致页面顶部空白一行解决方法

找了半天,以为是自己写的代码问题原来是被编码格式坑了.当我百度了才知道原来是这样子的. 文件编辑的时候utf-8带了bom头. 这种编码方式一般会在windows操作系统中出现,比如记事本编辑器,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM). 它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码. 对于一般的文件,这样并不会产生什么麻烦. 但对于html来说,BOM是个大麻烦. 因为浏览器在解析html页