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

      

  • 相关阅读:
    记一次ntp反射放大ddos攻击
    除了binlog2sql工具外,使用python脚本闪回数据(数据库误操作)
    vmware linux虚拟机忘记密码怎么办
    flask(二)
    flask(一)
    发布一个Django项目
    nginx的使用
    redis的下载及使用
    Linux虚拟机没有IP的解决办法
    Mariadb的安装与使用
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/11673176.html
Copyright © 2020-2023  润新知