首页 > 其他 > 详细

IScroll中div点击事件触发两次解决办法

时间:2019-10-14 19:52:31      阅读:106      评论:0      收藏:0      [点我收藏+]

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

  

IScroll中div点击事件触发两次解决办法

原文:https://www.cnblogs.com/zhaogaojian/p/11673176.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!