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 () { 。。。