iscroll5在使用情况下click事件失效的问题

Posted baoyadong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iscroll5在使用情况下click事件失效的问题相关的知识,希望对你有一定的参考价值。

转载自:http://www.52html5.com/?p=2618

 

Bug描述:

 

iOSandroid4.4+下不能触发click事件。

Bug解决:

调用iscroll插件,增加配置参数:click:true/false

click的值是要根据移动终端设备进行判断,如果只是简单的判断终端类型的话,android4.4+还是不能点击,这就是安卓的一个坑,毕竟没有ios系统做的统一。

故增加一个函数去判断:

// #########
function iScrollClick(){
	if (/iPhone|iPad|iPod|Macintosh/i.test(navigator.userAgent)) return false;
	if (/Chrome/i.test(navigator.userAgent)) return (/Android/i.test(navigator.userAgent));
	if (/Silk/i.test(navigator.userAgent)) return false;
	if (/Android/i.test(navigator.userAgent)) {
	   var s=navigator.userAgent.substr(navigator.userAgent.indexOf(‘Android‘)+8,3);
	   return parseFloat(s[0]+s[3]) < 44 ? false : true
    }
}

 

配置实例:

 

 myScroll = new IScroll("#ID", {
	click:iScrollClick(), //调用判断函数
        scrollbars: true,//有滚动条
        mouseWheel: true,//允许滑轮滚动
        fadeScrollbars: true//滚动时显示滚动条,默认影藏,并且是淡出淡入效果
    });

经过亲身实践可以用,故记录一下技术分享

以上是关于iscroll5在使用情况下click事件失效的问题的主要内容,如果未能解决你的问题,请参考以下文章

vue.js下移动端绑定click事件失效,pc端正常的问题

使用fastclick的时候 click() 触发失效

vue组件中click事件失效

用click事件调用ajax 第一次点击有用,第二次就失效了

ionic 使用 Leaflet,click事件失效

jquery中on绑定click事件在苹果手机失效的问题