87,910
社区成员
发帖
与我相关
我的任务
分享
var t1 = null;//这个设置为全局
function myclick(){
if (t1 == null){
t1 = new Date().getTime();
}else{
var t2 = new Date().getTime();
if(t2 - t1 < 500){
t1 = t2;
return;
}else{
t1 = t2;
}
}
/*自己的代码*/
}
2、上面的代码,也可以写在iscroll.js(4.2.5)的_end方法中,要注意var t1是全局的
3、国外论坛在iscroll.js(4.2.5)对应位置添加
topOffset: 0,
checkDOMChanges: false, // Experimental
handleClick: true,
preventGhostClick: false, // prevent ghost clicks?防止2次点击
ghostClickTimeout: 500, // timeout for ghost click prevention设置时间差
/**
* Prevents any real clicks.
* See preventGhostClick portion of _end().
*/
_preventRealClick: function(e) {
if (e._fake !== true) {
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
e.cancel = true;
return false;
}
},
_end: function (e) {......
ev._fake = true;
if (that.options.preventGhostClick) { //preventGhostClick: true,
// prevent ghost real clicks on body
document.body.addEventListener('click', that._preventRealClick, true);
// until ghost click timeout expires
setTimeout(function () {
document.body.removeEventListener('click', that._preventRealClick, true);
}, that.options.ghostClickTimeout);
}
target.dispatchEvent(ev);
我用的是第1中方法,在每个点击的fn中都加入时间判断代码,这样比较繁琐,没办法,项目经理不给修改iscroll.js,建议直接在iscroll中加时间判断。希望对你有帮助