移動端指紋識別(長按事件)

_miccretti發表於2017-03-22

移動端有些H5專案上有模擬指紋識別的效果,其實也就是長按事件。
核心就是判斷觸控的長短,以及阻止頁面的預設長按事件。
移動端用的庫是Zepto.js。

$.fn.longPress = function(fn) {
    var timeout = undefined;
    var $this = this;
    for(var i = 0;i<$this.length;i++){
        $this[i].addEventListener('touchstart', function(event) {
            event.preventDefault()
            timeout = setTimeout(fn, 800);  //長按時間超過800ms,則執行傳入的方法
            }, false);
        $this[i].addEventListener('touchend', function(event) {
            event.preventDefault()
            clearTimeout(timeout);  //長按時間少於800ms,不會執行傳入的方法
            }, false);
    }
}

後面就呼叫longPress()即可。

相關文章