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