IScroll中div点击事件触发两次解决办法
1、网上的同学说的,直接修改源代码,但是这种方法可能会影响到现有的程序。
搜索onBeforeScrollStart方法,将其中的preventDefault禁止掉
搜索_end方法,将其中模拟click事件的方法全部给注释掉.
2、使用如下代码
//为了解决iscroll直接使用click执行两次问题 var touchEvents = { touchstart: "touchstart", touchmove: "touchmove", touchend: "touchend", touch: "touchstart", initTouchEvents: function () { var self = this; if (self.isPC()) { self.touchstart = "mousedown"; self.touchmove = "mousemove"; self.touchend = "mouseup"; self.touch = "click"; } }, isPC: function () { //判断pc端与移动端 var userAgentInfo = navigator.userAgent; //alert(userAgentInfo); var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); //判断用户代理头信息 var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) != -1) { flag = false; break; } } return flag; //true为pc端,false为非pc端 } };
在页面中增加如下代码
touchEvents.initTouchEvents(); //点击选择范围 $("#btn").unbind(touchEvents.touch); $("#btn").on(touchEvents.touch, function () { 。。。
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。