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 (超级人工智能)出售。

浙公网安备 33010602011771号