防止按钮双击、cell多次点击;防止网络请求连续

No-Double-Click

防止双击、多次点击。借助定时器实现的小工具,内部通过哈希表管理,可以连续为多个对象监听。可以帮助分析非常短时间内多次操作是否被允许。可以自由设定最小间隔时间,使用方便,对项目无污染。

介绍:主要,也是唯一的API。

/** * 动作是否允许 * @param {操作对象,可以传this或Node等任何非空对象} target * @param {延时时间,默认500ms} delayDuration * @param 返回 true允许操作 or false不允许操作 */ actionAllowable: function (target, delayDuration = 500) { ..... }

使用示例:

// 比如防止这个cell被重复点击,我们通过 ‘if (!doubleClickTerminator.actionAllowable(this.node))’判断本次操作是否被允许,默认是500ms。 如果这样传入时间参数‘if (!doubleClickTerminator.actionAllowable(this.node,1000))’,则表示两次操作至少需要间隔1S。 cellClicked() { if (!doubleClickTerminator.actionAllowable(this.node)) return; let headInfo = { "itemData": this.itemData, "userIdAndNameMap": this.userIdAndNameMap, "gameId": this._gameId, }; cc.vv.dispatcher.emit("showRecordDetailWindow", headInfo); },

初始化:

var doubleClickTerminator = require('DoubleClickTerminator'); doubleClickTerminator.init();

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。