IScroll中div點擊事件觸發兩次解決辦法

一、網上的同窗說的,直接修改源代碼,可是這種方法可能會影響到現有的程序。javascript

搜索onBeforeScrollStart方法,將其中的preventDefault禁止掉
搜索_end方法,將其中模擬click事件的方法所有給註釋掉.java

二、使用以下代碼this

//爲了解決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 () {
。。。
相關文章
相關標籤/搜索