`

Android 4.x 浏览器不触发 ontouchend 的bug解决

 
阅读更多

之前在做一个侧滑效果的时候,发现在android4+的机型上touchend事件没有被触发(移动浏览器上的bug)

怎么破?在 touchmove 事件中 e.preventDetault() 居然就可以。

 

但是简单调用 e.preventDetault() 会导致另外一个问题,就是阻止了屏幕上下滚动的 scorll 事件。

 

这又怎么破?

最后,我在一位兄台的博客里找到思路《手机浏览器常用手势动作监听封装》,具体思路就是“兼容的解决办法是在 touchmove 时判断手势趋势大于预设值时(大于预设值证明有 move的动作趋势),停止默认的操作e.preventDefault()”。于是我的代码就是这样。

/** 
 * touchend事件丢失 
 */  
function fixTouchEndNotFire(e, a1, a2, a3, disX){  
    if(window.navigator.isAndroid_4){  
        if ( disX > 7 ) {  
            e.preventDefault();  
        }  
    }     
}  

 

加入到 touchmove 事件中。

 

分享到:
评论

相关推荐

    ARM Cortex-A8和Android 4.x联动报警系统

    第1节:基于ARM Cortex-A8和Android 4.x的联动报警系统课程概述.zip 第2节:Android 4.x应用开发环境搭建.zip 第3节:Android程序结构.zip 第4节:Android界面布局.zip 第5节:Activity.zip 第6节:Android事件处理....

    android.hardware.camera2自定义相机

    这个API在Android 5.0(API级别21)引入,替代了早期的`Camera`类,以解决其性能和功能上的限制。下面我们将深入探讨`android.hardware.camera2`的相关知识点。 **1. 相机设备** 在`camera2`框架中,相机设备被表示...

    android 浏览器 调用系统下载功能

    在Android平台上,开发一款浏览器应用并集成下载功能是一项常见的任务。这个话题主要涉及以下几个关键知识点: 1. **Android浏览器架构**:Android浏览器通常基于WebView组件构建。WebView是Android SDK提供的一种...

    android实战 打开浏览器(android studio源程序工程)

    在Android开发中,"打开浏览器"是一个常见的功能需求,它涉及到Android系统中Intent的使用以及浏览器组件的调用。这个实战项目"android实战 打开浏览器"是为Android初学者设计的,通过Android Studio进行实践操作,...

    解决echarts-v4.x版本tree图相关问题的具体代码

    解决以下问题的具体代码: 1. 正交向图:无法自动撑开容器,当节点很多时会无限的压缩节点间的空隙,导致图表很难看; 2. 开启roam选项后,拖动图表,之后再点击...(这个就很难受的bug,目前只是间接的重绘图表解决)

    jQuery ajaxFileUpload.js 插件 ie9 下bug 修复

    总的来说,`jQuery ajaxFileUpload.js 插件 ie9 下bug 修复`这个主题涵盖了前端开发中的重要知识点,包括浏览器兼容性、异步文件上传、Ajax交互和事件处理等。理解和解决这些问题对于提升老旧浏览器下的用户体验至关...

    vue3浏览器调试插件

    Vue3浏览器调试插件是专为开发者设计的强大工具,它极大地简化了Vue3应用程序的调试过程,让开发者能够深入理解并高效地排查Vue3应用中的问题。Vue.js是一款流行的前端框架,尤其在单页应用程序(SPA)开发中广泛...

    unity和安卓交互调用安卓浏览器拉起应用市场

    4. 在Unity中调用C#脚本中的方法,传递参数并触发Android端的方法。 通过这样的方式,开发者可以实现Unity游戏在Android平台上调用浏览器拉起应用市场,从而实现热更新或引导用户评价等功能。这种方式既充分利用了...

    浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法

    浏览器窗口大小变化时使用resize事件对框架不起作用的解决办法,如下: 代码如下:$(window).resize(function(){var surH = $(window).height();$(“.pic_conent”).height(surH);} 当浏览器变化,拉大拉小时,没有...

    Android应用源码之浏览器的源码 可以下载修改跳转指定的网址.zip

    在Android平台上,开发一款自定义浏览器是一个常见的任务,这涉及到对Android系统API的理解以及网络请求的处理。这个压缩包提供了一份Android应用的源码,它是一个基础的浏览器应用,允许用户浏览网页,并且可以被...

    Android自定义文件浏览器简单demo项目

    在Android开发中,创建一个自定义的文件浏览器是常见的需求,尤其在开发涉及用户选择文件或目录的应用时。本项目“Android自定义文件浏览器简单demo”提供了一个基础框架,可以帮助开发者快速实现这一功能。下面将...

    Android应用源码-浏览器.rar

    在Android平台上,开发一款浏览器应用是一项复杂而富有挑战性的任务,涉及到多个技术栈的整合与优化。本项目名为“Android应用源码-浏览器”,提供了一个基础的浏览器框架,实现了核心的功能,如页面刷新、前进、...

    F5.rar_js 触发f5

    在JavaScript编程中,"F5.rar_js 触发f5"这一主题主要涉及的是用户在浏览器中按下F5键进行页面刷新或者通过关闭浏览器时,如何捕获并处理这些动作的相关事件。`beforeunload`和`unload`是两个关键的JavaScript事件,...

    Android 仿ES界面文件浏览器源码.rar

    在Android开发中,创建一个类似ES文件浏览器的界面是一项常见的任务,这涉及到文件管理、目录浏览、文件操作等功能。此源码提供了一个实现这一功能的示例,让我们深入探讨一下这个"Android 仿ES界面文件浏览器源码...

    js调用浏览器打印模块实现点击按钮触发自定义函数

    在探讨如何利用JavaScript调用浏览器的打印模块实现点击按钮时触发自定义函数的过程中,我们首先需要了解浏览器提供的打印API以及如何通过编程方式触发打印任务。现代浏览器通常提供了window.print()方法,该方法...

    关闭浏览器触发 sesstion__end 来统计减少了客户端访问人

    有很多网友提到 ,sesstion 到时间会触发 sesstion__end 来统计减少了客户端访问人,对于这样的问题网络上都含糊不清,这里告诉大家一个方法 1 在 config 页面中写入代码 2 建立一个关闭浏览器页面...

    浏览器不兼容问题解决方案[归类].pdf

    解决方法是在受影响的元素上使用`zoom:1`,以触发IE6的“hasLayout”特性。 8. **注释引起的Bug**: 特殊的注释格式可能导致IE6显示重复内容。应使用条件注释,如`<!– [if !IE]> picRotate start <![endif]– >`...

    android浏览器插件样例

    在Android平台上,开发浏览器插件是一项技术性强且充满挑战的任务,因为这涉及到对系统底层的深入理解和对Webview组件的熟练运用。`BrowserPluginSample`是一个绝佳的学习资源,它为开发者提供了一个完整的示例,...

    Android Studio初学者相册图片浏览器教程Java代码

    在Android开发中,Android Studio是官方推荐的集成开发环境(IDE),它为开发者提供了丰富的工具和功能,使得创建安卓应用程序变得更加高效。本教程主要针对初学者,旨在通过创建一个简单的相册图片浏览器应用,帮助...

    Android卸载或删除应用,调用浏览器打开指定网页地址url

    在Android中,当用户卸载应用时,系统会触发一系列生命周期方法,但不包括自定义的代码。因为默认情况下,卸载过程中不会执行任何应用代码。然而,有一种间接的方式可以实现这个需求,即通过设置广播接收器。 1. **...

Global site tag (gtag.js) - Google Analytics