屹立
屹立
  • 发布:2016-05-25 17:19
  • 更新:2016-10-09 17:06
  • 阅读:2549

longtap能否指定按住多久才生效?

分类:Native.js

比如我要用户按住超过两秒才确认为有效的长按而执行操作??

2016-05-25 17:19 负责人:无 分享
已邀请:

最佳回复

rodgerz

rodgerz

直接在mui.js里面修改holdTimeout
或者修改下面的js,在需要的页面中在mui.js后引用

/**  
 * mui gesture longtap  
 * @param {type} $  
 * @param {type} name  
 * @returns {undefined}  
 */  
(function($, name) {  
    var timer;  
    var handle = function(event, touch) {  
        var session = $.gestures.session;  
        var options = this.options;  
        switch (event.type) {  
            case $.EVENT_START:  
                clearTimeout(timer);  
                timer = setTimeout(function() {  
                    $.trigger(session.target, name, touch);  
                }, options.holdTimeout);  
                break;  
            case $.EVENT_MOVE:  
                if (touch.distance > options.holdThreshold) {  
                    clearTimeout(timer);  
                }  
                break;  
            case $.EVENT_END:  
            case $.EVENT_CANCEL:  
                clearTimeout(timer);  
                break;  
        }  
    };  
    /**  
     * mui gesture longtap  
     */  
    $.addGesture({  
        name: name,  
        index: 10,  
        handle: handle,  
        options: {  
            fingers: 1,  
            holdTimeout: 500,  
            holdThreshold: 2  
        }  
    });  
})(mui, 'longtap');
屹立

屹立 (作者)

没人回答吗?

蓓岑2015

蓓岑2015

顶一下,我也在纠结这个问题。

该问题目前已经被锁定, 无法添加新回复